持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
idea 使用介绍:
下载地址:感谢您下载IntelliJ IDEA! (jetbrains.com.cn)
常用快捷键:
//psvm 快捷键
public static void main(String[] args) {
}
//sout快捷键
System.out.println("secodeClass");
//格式化 ctrl+alt+L
运行:
右键=》run...
隐式转换和强制转换
隐式转换(自动类型提升):取值范围小的转换为取值范围大的; 规则: 1:自动转换;
2:byte,short,chat 三种类型在运算时,都会提升为int ,再运算;
3:转换规则排序:byte<short<int<long<float<double;
eg1:
byte a=10;
byte b=20;
数据类型?c = a+b; //c是int;
eg2:
int a = 10;
double = b=12.1;
数据类型 ? c = a+b; // ?是double
运算过程:a转换为double类型再运算
强制转换:取值范围大的转换为取值范围小的。
适用规则: 1:如果把一个取值范围大的数值,赋值给取值范围小的变量;
格式:目标数据类型 变量名 = (目标数据类型) 被强转的数据;
eg1:
double a = 12.3;
int b =(int) a;
+运算符:
1:数字相加是相加;
2:有"字符串"出现是拼接;
3:'字符'相加:
3.1: 数字+ 字符; //chat 转换为ASCII表相加
1+'a' ;// 98
3.2: 字符串+字符; // 拼接
'a'+"abc";//aabc
static 关键字
public static int getSum(int num) {
//static 静态方法
// 不同类中需要在类中点出来FirstClass.getSum(10)
if (num == 1) {
return 1;
}
return num + getSum(num - 1);
}
//在测试类中直接当对象调用:
public class FirstClass {
public static void main(String[] args) {
int num4 = getSum(100);
System.out.println(num4);
}
}
continue 与break区别
for循环1-5
if(i==3){continue}
if(i==3){breaK}
1 continue 跳过 打印1245;
2 breaK 结束整个循环 12;
数组的定义和存取
静态初始化:
int[] arr =new int[]{1,2,3};
int[] arr1 = {1,2,3};
动态初始化://指定长度,不指定数值
int[] arr2 = new int[3];
System.out.println(arr);//得到的是地址值;
System.out.println(arr[0]);//通过索引获取存储的值
方法
格式:
public static void/int 方法名(参数){
方法体
// 有返回值
return
}
方法重载:
条件1:在同一个类里面;
条件2:方法名一样;
条件3:参数不一样。
类的分类
写类的规则:
1.类名首字母大写;
2.一个java文件只能一个class被public修饰并且被public修饰的类必须是代码文件名;建议一个文件写一个class类。
1.测试类
public class Classes {
public static void main(String[] args) {
GirlFriend p1 = new GirlFriend();
}
}
2.javabean类
public class GirlFriend {
String name;
int age;
String gender;
public void sleep(){
System.out.println("girlFriend is sleeping");
}
}
private关键字
1.权限修饰符;
2.可以修饰成员变量和方法
3.被private修饰的成员只能本类中使用
private 修饰变量:
public class GirlFriend {
String name;
}
GirlFriend p1 = new GirlFriend();
p1.name = '名字' ;//错误
正确的使用
public class GirlFriend {
private String name;
public void setName(String name){
this.name = name;
}
}
GirlFriend p1 = new GirlFriend();
p1.setName("girlname");
构造方法
规则
1:名字与类名一至;
2:没有返回值类型 连void也没有;
3:没有返回值,不能带return。
4: 类自带不带参构造方法;
手动写了带参的构造方法,就要补上不带参的构造方法。
public class GirlFriend {
private String name;
public GirlFriend() {
}
public GirlFriend(String name) {
}
}
String
比较:
1.=== :地址一致才是true;
2.equals 结果一样就true
3.equalslgnoreCase 忽略大小写
String a = "A";
String b = new String("a");
System.out.println(a.equalsIgnoreCase(b));
string类型的遍历
String str = "8123";
for(int i=0;i<str.length();i++){
System.out.println(str.charAt(i));
}
StringBuilder
作用:提高字符串的操作效率
StringBuilder sb = new StringBuilder();
常用的方法:
sb.append("123").append("789").reverse().insert(2,"0").delete(0,1);
StringJoiner
作用:拼接字符串
StringJoiner sj = new StringJoiner(",","[","]");
sj.add("13334").add("0");
System.out.println(sj);
集合
集合的增,删,改,查:
ArrayList<String> al = new ArrayList<>();
// al.add("123");
// al.add("456");
// System.out.println(al);
// System.out.println(al.size());
// Boolean a = al.remove("13");
// String b = al.remove(0);
// al.set(0,"///");
// System.out.println(b);
// System.out.println(a);
// System.out.println(al);
// System.out.println(al.get(1));
注意: 只能存引用数据类型;如果要存储需要转换为包装类;
ArrayList<Integer> al = new ArrayList<>();
al.add(6666);