1.编译是javac,运行是java.
2.快捷键psvm/main;sout打印;
数据与变量
ctrl+d直接复制一行;
字面常量:
2.字符串常量:“hello”“123”
3.整形常量:程序中直接写的数字:100 30
4.浮点数常量:程序中直接写的小数:3.14 0.52
5.字符常量:‘5’ ‘A’
6.布尔常量:true和false
7.空常量
数据类型
(一)基本数据类型\内置类型
四类:整型、浮点型、字符型、布尔类型;
八种:byte(1个字节) short(2) int(4) long(8)
float(4) double(8)
char(2)
boolean(并未指明多少字节)
(二)引用数据类型
String
数组
接口
类
…
以上这些类型定义的变量是存储地址的变量;
int 与long不区分在16位还是32位字节操作系统的占位;
1.字节是计算机中表示空间大小的基本单位
bit byte kb mb gb tb pb ( 8-1024-1024-1024-1024-1024)
变量
1.定义:在程序运行期间,可以改变的量。
2.java中局部变量(定义在函数内部的)必须初始化(在使用前)。
3.java中所有类型 定义的数据 都是有符号的。(int:1个符号位+31个数值位)。
4.System.out.printfln(Integer.MIN_VALUE); System.out.printfln(Integer.MAX_VALUE);
5.long a=10L;L强调是个长整型。
6.System.out.printfln(Long.MIN_VALUE);//plus版\包装类型 System.out.printfln(Long.MAX_VALUE);
7.short s=9;
8.System.out.printfln(Short.MIN_VALUE);//输出最小值
System.out.printfln(Short.MAX_VALUE);//输出最大值
9. byte a=10;当给赋值的字面值 超过当前数据类型 能表示的最大范围之后,直接编译报错(byte是在-128~127 ) System.out.printfln(Byte.MIN_VALUE);//输出最小值 System.out.printfln(Byte.MAX_VALUE);//输出最大值
10.float f=16.6f ; //必须跟f,4个字节 System.out.printfln(Float.MIN_VALUE);//输出最小值 System.out.printfln(Float.MAX_VALUE);//输出最大值 double f=16.6 ; //8个字节 System.out.printfln(Double.MIN_VALUE);//输出最小值 System.out.printfln(Double.MAX_VALUE);//输出最大值
11.char ch='白';//2个字节 System.out.printfln(Character.MIN_VALUE);//输出最小值 System.out.printfln(Character.MAX_VALUE);//输出最大值
12. `boolean flg =true;//boolean只能是true或fasle
System.out.printfln(Boolean.MIN_VALUE);//输出最小值
System.out.printfln(Boolean.MAX_VALUE);//输出最大值
//变量名.sout(输出时)
13.boolean类型 无明确大小,且不能与int类型转化
14.java虚拟机规范中,并未明确规定boolean占几个字节,也没有专门用来处理boolean的字节指令,在Oracle公司的虚拟机实现中,boolean占1个字节。
15.强制类型转化:只能多位字节给少位字节,数据范围大的给数据范围小的。
int a =10;
long b =10L;
a =(int)b;//强制类型转换,数据范围大的->数据范围小的
b=a;
byte b1 =127;
byte b2 =(byte)963;//963默认为int,超过byte范围,强转
boolean flag =false;
a= flag;//编译失败,类型不兼容
flag= a;//编译失败,类型不兼容
16.自动类型转换:编译时,编译器自动处理;数据范围小的转为数据范围大的时会自动进行。
17.类型提升:先将小字节类型提升为大字节类型
整型提升:(byte\short)当运算时,表达式两边的值<4字节时,先将数据提升为四个字节在运算;结果也为四个字节
byte b1=90;
byte b2=52;
int b3=b1+b2;//整形提升
18.字符串类型:
java中没有\0的说法
public static void main(String[] args)
{
String str1="hello";//str属于引用变量,变量里面存的地址
System.out.println(str1);
String str2="!!!";
System.out.println(str2);
String str3=str1+str2;//拼接
System.out.println(str3);
int a=10;
System.out.println("a == " +a);//a == 10 java中的字符串和其他数据类型进行+号操作时就是拼接
System.out.println(a + "a == " );//10a ==
int b=20;
System.out.println("a+b = " +a+b);//a+b = 1020
System.out.println("a+b = " +(a+b));//a+b =30
System.out.println(a+b +"== a+b ");//30== a+b;从左向右计算
}
19.双击shift 搜索integer;alt+7->structure
20.
public static void main(String[] args){
String str1 = "123";
int val =Integer.parseInt(str1);
System.out.println(val+1);//String型转int型
int a=123;
String str3 = a+"";
System.out.println(str3);//int型转String型
String str2 = String.valueOf(a);
System.out.println(str2);//int型转String型
String str4 =Integer.toString(a);
System.out.println(str4);//int型转String型
}
21.运算符
public static void main(String[] args) {
// System.out.println(1/0);//会产生算术异常
System.out.println(9 % 5);//求余数
System.out.println(9 % -5);
System.out.println(-9 % 5);
System.out.println(-9 % -5);//取决于第一位是正还是负
System.out.println(63.5 % 9);
byte b1 = 2;
byte c1 = 126;
c1 += b1;
// System.out.println(c1);//文件被截断,超过127到-128了
int a = 10;//自增自减运算符
//(1)a++或者++a;System.out.println(a);//a=11
int b = a++;
System.out.println(b);//(2)b=10
int c = ++a;
System.out.println(c);//(3)c=12
System.out.println(a==b);//关系运算符,=Java中赋值,==java重视相等;输出结果只能是true或者false
//位运算符:&(按位与),|(或),^(异或:同为0,不同为1)
2023.10.24