学习目标:
例如:掌握 Java 入门知识
学习内容:
1、 数据转换:
自动类型转换:(隐式)
- 代码不需要进行特殊处理,自动完成
- 数据范围从小到大
例子:
Long num1 = 100;
左边是long 类型,右边是默认的int类型,左右不一样,int -> long 数据范围变大,发生自动类型转换
强制类型转换:
1. 代码需要进行特殊的格式处理,不能自动完成
2. 范围小的类型
范围小的变量名 = (范围小的类型)原本范围大的数据
例子:
int num = 100L;
会报错,不能发生自动类型转换
改后:
int num = (int) 100L;
注意事项:
- 强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出
- Byte(127—— -128)/short(-32768——32767)/ char(0——255) 这三种类型都可以发生数学运算,例如加法+
Byte/short/char 在运算的时候先变成int,然后再计算 - Boolean类型不能发生数据类型转换
例子:
int num2 = (int) 6000000000L
System.out.printIn(num2); 1705032704
小数变成 int 所有小数位都会被舍去
字符型变量 变成int , A会变成65, ASCII码
‘0’ 48
‘A’ 65
‘a’ 97
例子:此处zifu1 + 0,发生了自动类型转换
package
Day_1;
public class
Demo03DataTypeChar {
public static void main(String[] args) {
char zifu1 = '1';
System.out.println(zifu1 + 0);
}
}
ASCII码表:American Standard
Code for Information Interchange 美国信息交换标准代码
Unicode码表:万国码,也是数字和符号的对照关系,开头0-127和ASCII完全一样,但是从128之后,有中文韩文泰文等等,甚至还有emoji表情
2、 运算符
1.算数运算符;+,-,*,/(除法)(如果求商直接前面加(int)),%求余数(模),++,-- (python里, //求商,%求余数
对于整数的表达式来说,除法用的是整除,整数除以整数,结果仍然是整数,只看商。
注意事项:
一旦运算当中有不同类型的数据,结果将会是数据类型范围大的那种
例如; int + double -> double + double -> double
加号的多种用法
(1)对于数值,就是加法
(2)对于char来说,char会被提升为int
(3)字符串String,加号代表字符串连接操作 注:任何数据类型和字符串进行连接的时候,都变成字符串
package Day_2;
public class Demo05Plus {
public static void main(String[]
args){
System.out.println("Hello"+"World");
System.out.println("Java"+20+30);//Java2030
System.out.println("Java"+(20+30));
}
}
2.自增自减运算符
使用方式:
(1) 单独使用:
前++和后++没有任何区别
++num1;
num1++;
(2) 混合使用:
A. 如果是前++,那么变量立刻马上+1,然后拿着结果进行使用【先加后用】
B. 如果是后++,那莪先使用变量本来的数值,然后再让变量+1【先用后加】
例子:
int num2 =20;
System.out.println(++num2); //21
System.out.println(num2++); //20
和赋值操作混合:
int num4 = 40;
int result1 = --num4;
System.out.println(result1); //39
System.out.println(num4); //39
int num5 = 50;
int result1 = num5–;
System.out.println(result2); //50
System.out.println(num5); //49
int x = 10;
int y = 20;
// 11+20 = 31
int result3 = ++x + y–;
System.out.println(result3); //31
System.out.println(x); //11
System.out.println(y); //19
注意事项:常量不能用++或者—
3.赋值运算符
基本赋值运算符 =
复合赋值运算符 +=(a+=1 a=a+1) -= *= /= %=
注意事项:
(1)只有变量才能使用赋值运算符,常量不能进行赋值,不能写在赋值运算符的左边
(2)复合赋值运算符隐含了强制类型转换
例子:
byte num = 30;
num += 5;
num = byte + int -> num = int + int
4.比较运算符
== <= >= != > <
注意事项:
(1) 比较运算符的结果是true或者false
(2) 程序中多次判断,只能单独写
5.逻辑运算符
与 && 或 || 非 !
6.三元运算符
一元:!,++,–
二元:+,=
三元:变量名称 = 条件判断 ? 表达式A:表达式B;
如果条件成立True,表达式A的值给变量
如果条件不成立False,表达式B的值给变量
例如: int max = a > b? a:b;
注意事项:
表达式A,B必须符合左侧数据类型的要求
3、方法
方法的定义:
注意事项:
1. 方法定义的先后顺序无所谓
2. 方法定义好了记得调用
/*
Public static void 方法名称(){
方法体
}
*/
//小驼峰式
public class Demo11Method{
public static void main(String[] args){
cook();
seller();
me();
}
public static void cook(){
}
public static void seller(){
}
public static void me(){
}
}