基本类型转换(数字转换):
隐式转换(自动转换):小转大
byte -> short ->int ->long ->float ->double
char
小数一般默认为double类型
强制转化:由大转小,可能会溢出
看变量类型,然后输出该类型
package com.company;
public class TypeConverse {
public static void main(String[] args) {
int i = 5;
byte b = 6;
int a = 6;
int c = (int)3.65;
System.out.println(c);
float f = 4.5F;
double d = f;
System.out.println(d);
char cc = 'A';
int m = cc;
System.out.println(m);
char ccc = 65;
System.out.println(ccc);
char cccc = 65;
System.out.println((int)cccc);
}
}
运算符和表达式
逻辑运算符:&&、||(两边只能是布尔类型的值,或者是一个值为布尔类型的表达式)
&&:短路运算符(一旦能判断结果则后续不执行),效率高
&:额为可以做位运算(先把数字转换为二进制,二进制每位进行逻辑与)
25是1101
5是00101
所以为假
&&与&:&&是短路运算符,效率高。&没有短路功能,效率低,但是可以进行位运算
共同点:是逻辑运算符,都成立为true,一个为假则为false。
||与|同理。
三元/目运算符: 语法:变量类型 变量名 = 布尔表达式? 表达式1:表达式2
布尔表达式为真,返回表达式1,否则,返回表达式2
返回值类型要和冒号做优两边的类型相互转换,可在前面强制转换。
算数运算符:+、-、*、/、%、
++与--,++独立成行,++在前与++在后一样
非独立成行:++在前,先自增,再赋值;++在后,先赋值,再自加
赋值运算符:=、+=、-=、*=、/=,后四者会自动解决类型转换
面试题:赋值运算符(+=、-=、*=、/=、)与=区别:会自动进行类型转换
值为5;
比较运算符:==、>=、<=、!=、>、<
!代表非 即取反。
注意:
八大数据类型得小写,Boolean是不对的。
作用域:局部变量与全局变量
如上图,b错误
变量名;在同一个代码证,变量不能重名
package com.company.demo.demo0203.task;
/**
* sc.nextIn()输入整数
*/
import java.util.Scanner;
public class task02 {
public static void main(String[] args) {
// 控制台,可输入变量,控制台输入语句有阻塞功能,让程序停下来
Scanner sc = new Scanner(System.in);
// 提升可操作性,提示
System.out.println("请输入第一个数字");
int num1 = sc.nextInt();
System.out.println("请输入第er个数字");
int num2 = sc.nextInt();
System.out.println("和"+(num1+num2));
}
}
第二题:√
第三题:×
负号:
\是转义字符,后跟特定字母,有特殊含义;\t 相当于tab键
两个单词含义是 变量 初始化
定义一个变量但未赋值,不可使用。