2023.09.18 开始自学,看韩顺平。
一、预备知识
1.main函数有固定书写格式:
public static void main(String[] args){}
注意事项:
- main前面有三个修饰词——公共public、静态static、void,不能多不能少。
- main后面的()不是空的,里面还有内容。
- String首字母大写。
- [ ]跟在String后面,记清楚。
- args拼写要正确。
- 类名首字母大写——不成文规定。
//第一段代码
public class Hello{
public static void main(String[] args){
System.out.println("Hello,world!"); //注意输出命令怎么写
}
}
2.一个源文件中最多只能有一个public类,而其它类个数不限。
代码中有多少个class(类),编译后就会产生多少个.class文件
若源文件中定义了一个public类,那么文件名必须以这个类命名
3.在cmd里,javac是编译命令,生成class文件,java是运行命令
二、转义字符
\t | 制表符,用于对齐 |
\n | 换行 |
\\ | 一个反斜杠\ |
\' | 一个' |
\" | 一个" |
\r | 回车,注意不是换行,而是光标回到当前行的开头位置 |
tips:
1. \\,第一个\用于做转义,第二个\是输出内容,因此若要输出\\,则应该在代码里写\\\\
2. 转义字符需要在“”中使用,可以单独一个,也可以和其它数字文字一起
System.out.println("年\t月\t日\n")
三、变量
int | 120 |
double | 98.9 |
char | '女' |
String | "姜鱼yuu" |
四、数据类型
五、关于+
Java中的“+”:当左右两边都是数值型时,则做加法运算;当左右两边有一方为字符串,则做拼接运算。
//加号
public class Plus{
public static void main(String[] args){
System.out.println(198);//198,似乎输出数字不需要""?带""的话是char类型?
System.out.println("198");//198
System.out.println(100+63);//163
System.out.println("100+63");//100+63
System.out.println("我的存款为"+10000);//我的存款为10000
System.out.println("我的存款为"+10000+999);//我的存款为10000999
}
}
六、浮点数
浮点数也就是小数,在Java中若出现一个小数,且不加说明,则默认它是double类型。
//错误案例
float num1 = 1.21; //因为默认double类型占8字节,而float占4字节,大的装不进小的里面
//正确写法
float num1 = 1.21f;
Java API 文档
七、布尔类型(Boolean)
1. 只允许取true和false,不允许取null(即不允许为空)
2. 占1个字节
3. 适用于:for、while、do-while、if
八、数据类型自动转换
1. 容量小的-->容量大的:自动转。
1.1. (byte , short)和char类型,它们之间不会自动转换,是特例。
2. 虽然不加说明的一个数字默认为int,但是关于 byte / short 类型,若赋一个具体数值给它,计算机会先判断这个数是不是在 -128~127 / ±2^16 之间,是则可以赋值。
3. byte、short、char,这三种类型的数据可以参与运算(只要出现其中一个,后面的话就成立),但必须要先转成int类型才能算
byte a1 = 1 ;
byte a2 = 2 ;
byte a = a1 + a2 ;//报错,计算结果a应该是int类型
4. 多种类型混合计算时,会先统一转成容量最大的,再计算。
5. Boolean类型不参与自动转换
九、强制类型转换
符号是(),例如:
int a = (int)12.36 ;
byte b = (byte) a ;
1. 强转符号只对最近的操作数有用——就近原则,如果想对一大堆数生效,需要使用小括号()
2. char可以赋一个int的常量值例如102,但不能赋int变量值,例如a,需要强转才行
int a = 102;
char n = 102; //正确
char n = a; //错误
char n = (char)a; //正确
十、基本数据类型&字符串String
1. 基本类型在后面跟上 【+“”】就可以转换为字符串
int a = 7;
String b = a + "";
2. String转成基本类型,需要在文档中查找对应的包装类(注意,这里用的不是强转语句!!)
2.1 在这种转换中,必须确保String内容是可以转的,例如“100”可以转成int,但“早上好”就不 行,会出现异常。
3. String-->char:在计算机中意思是,取得String的第一个字符
十一、标识符命名
- 不可以以数字开头;
- 只能使用_和$符号;
- 严格区分大小写
规范:
十二、键盘输入
//键盘输入
import java.util.Scanner; //重点1
public class task {
public static void main(String[] args){
Scanner Input = new Scanner (System.in); //重点2,区分读入string、int、double的语句
System.out.println("姓名!");
String name = Input.next(); //重点3
System.out.println("年龄!");
int age = Input.nextInt(); //重点4
System.out.println("工资!");
double sal = Input.nextDouble(); //重点5
System.out.println("姓名" + name + "年龄" + age + "工资" + sal);
}
}
注意:
myScanner.next()这条语句出现的地方,也就是在控制台等待输入的地方,所以必须先打印引导语,再使用next()读入!!
至于new Scanner定义,可以放在最前面也无所谓。