首页 > 编程语言 >java学习笔记(不定时更新!)

java学习笔记(不定时更新!)

时间:2024-03-12 14:11:20浏览次数:28  
标签:java String list System 笔记 println new 定时 out

(1)三元运算符:
运算式 ?输出结果1:输出结果2;
(2)键盘录入:
scanner sc = new Scanner (System.in){
int i = Scanner.nextInt();
double d = Scanner.nextDouble();
String str = sc.next();
}
(3) 数组(长度固定,可存基本数据类型):数据类型 【】 数组名 = new 数据类型【】{元素1,元素2...}
集合(长度可变,只可存引用数据类型):ArrayList<引用数据类型> list = new ArrayList<引用数据类型> ();
(4)数组的长度:调用方式:数组名.length
(5)随机数:
Random r = new Random();
double d1 = r.nextDouble(); // 生成[0,1.0]区间的小数
int i1 = r.nextInt(10); // 生成[0,10]区间的整数
(6)面向对象的特征:
[1]封装性: 对外部不可见
[2]继承性: 拓展类的功能
子类可继承父类内容: 成员变量(无论是否私有)和 非私有的成员方法(可加入虚方法表) (构造方法无法继承!)
[3]多态性: 1)方法的重载 2)对象的多态性
(7)标准javabean:
public class Teacher{

//[1]对象的属性
private String name;
private String work;

//[2]空参构造
public Teacher(){
}

//[3]带全部参的构造
public Teacher(String name,String work){
this.name = name;
this.work = work;
}

//[4]get,set方法
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getWork(){
return work;
}
public void setWork(String work){
this.work = work;
}
}

(8)substring方法 数据的截取(取头不取尾)
ps: String start = phoneNumber.substring(0,3) //表示从第0(1)位截至第2(3)位
Char first = phoneNumber.charAt(0) //表示只截取第0(1)位
String end = phoneNumber.substring(7) //表示从第7(8)位一直截取至末尾

(ps : charAt方法见上)(根据索引返回字符!)

(9)replace方法: 表示数据的更换
ps: int len = getString().substring(1).replace("A","Q").length(); //经典的链式编程
(10)equals方法: 比较两个数据是否一致,若一致返回ture,反之返回false.
ps:判断是否为对称字符串的代码:
//1.键盘录入一个字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
//2.反转键盘录入的字符串
String result = new StringBuilder().append(str).reverse().toString();
//3.比较
if(str.equals(result)){
System,out,println("是");
}else{
System.out.println("不是");
}
(11)StringBuilder方法(高效):
[1]创建对象:
StringBuilder sb = new StringBuilder("xxxx"); //xxx表示存储的内容,也可不写.
[2]添加元素(append):
sb.append(xxx); //xxx可为任意类型的内容
[3](容器内容)反转(reverse):
sb.reverse();
[4]获取长度(length):
int len = sb.length();
System.out.println(len);
[5]变回字符串(toString):
StringBuilder sb = new StringBuilder();
//添加字符串(也可以使用链式编程)
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd"); //此时输出sb为 aaabbbcccddd

//再把StringBuilder变回字符串

String str = sb.toString();
System.out.println(str); //aaabbbcccddd
(12)StringJoiner方法(方便):
[1]创建方法(2种)
StringJoiner sj = new StringJoiner(","); //1,2,3
StringJoiner sj = new StringJoiner(",","[","]"); //[1,2,3]
[2]添加元素:
sj.add("aaa").add("bbb").add("ccc"); //打印结果: aaa,bbb,ccc
[aaa,bbb,ccc]
[3]打印:
System.out.println(sj);
String str = sj.toString(); //将数据转换为String类
System.out.println(str); //[aaa,bbb,ccc]

(13)toCharArray方法(将一个字符串转换为字符数组):
ps: String Str = new String("www.runoob.com");
System.out.println( Str.toCharArray() );
(14)ArrayList方法(集合的常用方法):
[1]创建集合: ArrayList<String> list = new ArrayList<>();
[2]添加元素: list.add("aaa");
System.out.println(list); //[aaa]
[3]删除元素: boolean result1 = list.remove("aaa"); //直接删除
System.out.println(list); //[]
//or:
String str =list.remove(0); //括号里面填集合内的索引
System.out.println(str); //aaa(删除的数据)
System.out.println(list); //[](剩余的数据)
[4]修改元素: String result = list.set(0,"ddd"); //将集合内索引为0的元素改为ddd
System.out.println(result); //ddd(修改的数据)
System.out.println(list); //[ddd](修改后的数据)
[5]查询元素: String s = list.get(0);
System.out.println(s);
[6]遍历: for(int i = 0;i < list.size();i++){
//i 索引
//list.get(i) 元素
String str = list.get(i);
System.out.println(str);

}
(15) 基本数据类型 对应的包装类
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
(16)IDEA常用快捷键:
[1] ctrl + Alt + t 进入循环
[2] ctrl + d 向下复制一行
[3] 点红色+Alt+回车+点击第一个 自动生成
[4]
(17) System.exit(0) 退出循环
boolean flag = xxx.startWith("0") 判断字符串xxx是否是以0开头

(18) 开发中一般先验证格式是否正确,再验证是否唯一

(19)static静态变量:(static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量)
(静态随着类的加载而加载,非静态则与对象有关)
//被static修饰的成员变量,叫做静态变量
特点: [1]被该类所有对象共享
[2]不属于对象,属于类
[3]随着类的加载而加载,优先于对象存在
调用方式: [1]类名调用(推荐)
[2]对象名调用
//被static修饰的成员方法,叫做静态方法,静态方法只能访问静态,非静态可访问所有,静态方法中没有this关键字
特点: [1]多用于测试类和工具类中
[2]javabean类中会很少用
调用方式: [1]类名调用(推荐)
[2]对象名调用

//工具类:帮助我们做事但不描述任何事物的类
(ps: 先private,防止之后二次定义
privateStudentUtil(){}
//静态方法
public static int getMaxAgeStudent(ArrayList<Student> list)){
int max = list.get(0).getAge();
for(int i = 1;i < list.size();i++){
int tempAge = list.get(i).getAge()
if(tempAge > max){
max = list.get(i).getAge();
}
}
return max;
}
//javabean类:用来描述一些事物的类(ps:Student,Cat等)
//测试类:用来检查其他类是否书写正确,带有main方法的类,是程序的入口
(20)面向对象:(继承)
[1]继承的方法:(extends)
[2]继承中对象的引用(重名时可用):
1) name(从局部位置开始往上找)
2)this.name(从本类成员位置开始往上找)
3) super.name(从父类成员位置开始往上找)
[3]继承中成员变量的访问特点:就近原则.
(21)面向对象:(重写)
[1]应用场景:当父类中方法不能满足子类现在的需求时,我们就需要把这个方法进行重写
[2]注意:子类中重写的方法上面需要加上@override
(22)判断变量是否为方法类型的方法: instanceof (ps:if(a instanceof Dog){})

常用代码(题型):
(1)反转字符串:
package com.itheima;
import java.util.Scanner;
//在控制台上面输入一个字符串并打出它的相反值,如:输入abcd,打印dcba;
public class Test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串!");
String n = sc.nextLine();
StringBuilder sb = new StringBuilder(n);
System.out.println(sb.reverse());
}
}
(2)


原理:

标签:java,String,list,System,笔记,println,new,定时,out
From: https://www.cnblogs.com/yikexiaoqingxin/p/18068191

相关文章

  • Java学习笔记——第十三天
    常用API(二)MathMath代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。Math类提供的常用方法方法名说明publicstaticintabs(inta)获取参数绝对值publicstaticdoubleceil(doublea)向上取整publicstaticdoublefloor(doublea)向下......
  • scikit-opt学习笔记
    1.差分约束算法'''minf(x1,x2,x3)=x1^2+x2^2+x3^2s.t.x1*x2>=1x1*x2<=5x2+x3=10<=x1,x2,x3<=5'''defobj_func(p):x1,x2,x3=preturnx1**2+x2**2+x3**2c......
  • 深入浅出Java多线程(十一):AQS
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十一篇内容:AQS(AbstractQueuedSynchronizer)。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在现代多核CPU环境中,多线程编程已成为提升系统性能和并发处理能力的关键手段。然而,当多个线程共享同一资源......
  • JavaScript 高阶技巧
    0x01深浅拷贝开发中经常需要拷贝(复制)一个对象,如果直接赋值,则对拷贝对象的修改会影响到源对象consto1={a:1,b:2}consto2=o1console.log(o2)//{a:1,b:2}o2.a=3console.log(o1)//{a:3,b:2}console.log(o2)//{a:3,b:2}原因在于,直......
  • A接口实现类中a方法调用了c方法,B接口的实现类b方法也需调用A接口的实现类中的c方法,在j
    1.情景展示在实际开发过程中,往往会存在这样的情况:在A接口的实现类a方法实现了某个功能,现在B接口的实现类b方法也需要实现此功能,两者大致相同。为了提高代码的复用性,我们可以把A接口的实现类a方法的具体实现过程进行封装成c方法,供A、B两个接口的实现类调用。2.具体分析第一......
  • 跨端轻量JavaScript引擎的实现与探索
    一、JavaScript1.JavaScript语言JavaScript是ECMAScript的实现,由ECMA39(欧洲计算机制造商协会39号技术委员会)负责制定ECMAScript标准。ECMAScript发展史:时间版本说明1997年7月ES1.0发布当年7月,ECMA262标准出台1998年6月ES2.0发布该版本修改完全符合ISO......
  • Vue学习笔记46--scoped样式 + less
    scoped样式<!--组件的默认样式css写法--><!--<stylescoped>.demo{background-color:cadetblue;}</style>--><stylelang="less"scoped>.demo{background-color:cadetblue;.myfontsize{font-size:40px;}......
  • Java集合面试高频问题---集合框架体系(3)
    HashMap源码分析HashMap常见属性扩容默认为数组容量加载印子即160.75put方法put添加数据流程图每次添加数据之后都判断是否需要扩容......
  • 熟悉又陌生的JavaWeb 第5天
    传送门AJAX入门建议引入JQuery的封装来使用AJAX,现在基本没有需要原生创建AJAX请求的场景,JQuery封装了对不同浏览器的处理,无需自己判断<scriptsrc="https://code.jquery.com/jquery-3.6.0.min.js"></script>$.ajax({url:'your_url_here',//替换成你要发送请求的UR......
  • Java如何在树结构上做模糊查询
    开发企业后台管理应用时,经常会遇到一种场景:在树结构上做模糊查询。比如:公司组织架构树、分类树等,通常是在页面上的文本框中输入一个关键字,例如"数据",然后在公司组织架构树中过滤出名字包含数据的部门,且保持树结构不变。公司的一级部门、二级部门、三级部门等等,名字都有可能包含"......