1.数据类型的转换(掌握)
隐式类型转换(自动类型转换)
什么是隐式类型转换呢?
小的数据类型 会自动提升为 大的数据类型
隐式类型转换的格式?
没有格式
例子:
byte b = 1;
short s = 2;
int i = 3;
long l = 4;
float f = 1.1f;
double d = 1.2;
??? dd = b + s + i + l + f + d;
分析:当有多个数据类型参与运算的时候,小的数据类型会自动提升为大的数据类型
提升类型的格则: byte,short,char -> int -> long -> float -> double
所以确定,???处为double类型
四个特殊的情况?
情况一:
byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;
System.out.println(b3);//编译报错,提示不兼容的类型
情况二:
byte b1 = 1;
byte b2 = b1 + 2;
System.out.println(b2);//编译报错,提示不兼容的类型
情况三:
byte b = 126 + 1;
System.out.println(b);//编译正确
情况四:
byte b = 127 + 1;
System.out.println(b);//编译报错
强制类型转换
什么是强制类型转换?
大的数据类型 强制转换成 小的数据类型
强制类型转换的格式?
小的数据类型 小的数据类型的变量名 = (小的数据类型)大的数据类型的变量名
例子:
int a = 1;
byte b = (byte)a;
注:以后,我们能不使用强制类型转换,就尽量不要使用强制类型转换,因为转不好,会有问题产生的
int a = 130
byte b = (byte)a;
System.out.println(b);//130
2.编码表(常识)
ASCII编码表
'a' -> 97
'A' -> 65
'0' -> 48
System.out.println('a' + 0);//97
Unicode编码表
Java语言默认使用的编码表就是这个编码表
XXXOOO编码表
System.out.println('A' + 0);//65
3.运算符(掌握)
算术运算符:
/:和我们传统的除法不太一样,整数除以整数得到的就是整数
int i = 1/2;
System.out.println(i);//0
int i = 3/2;
System.out.println(1);//1
int i = 3.0/2;
System.out.println(i);
%(模):取模,取余数
System.out.println(3 % 2);
通过%可以帮助我们判断一个数字是奇数还是偶数
??? % 2 == 0 可以判断是偶数
??? % 2 == 1 可以判断是奇数
++(--):
例: int i = 1;
i++;//++i; --> i = i + 1;
如果单独使用,++在前在后结果是一样的
参与运算的时候,++在前就是先自身加1,然后再去参与运算,++在后就是先自身参与运算,然后再去加1
int a = 10;
int b = a++ + ++a + a-- + --a;
System.out.println(b);//44
赋值运算符:
+=:
int i = 1;
i += 2;//i = (int)(i + 2);
short s = 1;
s += 2;// s = (short)(s + 2);
笔试题:
byte b1 = 1;
b1 += 2;//b1 = (byte)(b1 + 2);
//b1 = b1 + 2;
System.out.println(b1);
比较运算符:
==:比较两边的数字是否相等
=:赋值语句
例子:
int a = 2;
int b = 2;
System.out.println(a++ == b--);//true
System.out.println(a);//3
System.out.println(b);//1
逻辑运算符:
&(单与):
true & true = true;
System.out.println(true & true);//true
true & false = falas;
false & false = false;
false & true = false;
结论:只有两边都为true,才true
|(单或):
true | true = true;
true | false = true;
false | false = false;
false | true = true;
结论:只要有一个为true,结果就为true
^(异或):
true ^ true = false
true ^ false = true
false ^ false = false
false ^ true = true
结论:两边一样为false,不一样true
!(非):
!true = false;
!false = true;
!!true = true;
!!!true = false;
&&(双与):
true && true = true;
System.out.println(true && true);//true
true && false = falas;
false && false = false;
false && true = false;
结论:只有两边都为true,才true
||(双或):
true || true = true;
true || false = true;
false || false = false;
false || true = true;
结论:只要有一个为true,结果就为true
面试题:
&与&&的区别?
对于&来说,两边肯定都要执行的
对于&&来说,如果左边为false,右边不再执行,结果为false
|与||的区别?
对于|来说,两边肯定都要执行的
对于||来说,如果左边为true,右边不再执行,结果为true
在我们的实际开发中,推荐使用&&,||,因为提高执行效率
三元运算符(三目运算符,条件运算符):
三元运算符格式?
条件表达式 ? 表达式1 : 表达式2;
三元运算符的执行流程?
如果条件表达式为true,执行表达式1
如果为false,执行表达式2
注:
3 > 4 ? 3 : 4;//错误,一定要有一个变量去接收
3 > 4 ? System.out.println(3):System.out.println(4);//错误
4.字符串的拼接(掌握)
任何数据类型与字符串相加最终都会变成一个字符串
例子:已知定义两个变量,int i = 1, int j = 2,然后在控制台上打印这样的结果"i + j = 2"
int i = 1;
int j = 2;
System.out.println("i * j = 2");
System.out.println("i * j = " + i*j);//"i * j = 2"
(@@@@@@) System.out.println(5 + 5 + "abc" + 5 + 5);//10abc55
5.函数(方法)(掌握)
什么是方法?
定义在类的里面,具有特定功能的一段独立小程序
方法的作用是什么?
提高了代码的复用性
提高了代码的维护性
定义方法的格式是什么样子呢?
修饰符 返回值类型 方法的名字(数据类型 变量名, ... ...) {
XXXOOO;
return 返回值;
}
今天我们只需要掌握下面这种格式:
public static void 方法名() {
可以写一些简单的小功能;
}
例子:写一个方法,该方法的功能是可以在控制台上打印随意两个数字(我们自己是随意写)的和
public static void da_yin_he() {
int i = 1;
int j = 2;
System.out.println(i + j);
}
方法怎么使用呢?
方法只有被调用才会执行
方法调用的方式有几种?
三种
今天只学一种
da_yin_he();
方法名();
|
|