public class TestDemo {
public static void main(String[] args) {
int a = 10;
System.out.println(a);
}
}
运行结果:
注:
1.int 表示变量的类型是一个整型
2.变量名是变量的标识后续都是通过这个名字来使用变量
3.Java 中 = 表示赋值(和数学不一样), 意思是给变量设置一个初始值
4. 初始化操作是可选的, 但是建议创建变量的时候都显式初始化
5. 最后不要忘记分号, 否则会编译失败
我们来测一下int的范围代码如下:
public class TestDemo {
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);//int的最大值
System.out.println(Integer.MIN_VALUE);//int的最小值
}
}
运行结果是
表示int是4个字节 4个字节的范围是[-2^31,2^31-1]
②long
long与int对变量命名规则类似,Java中long占8个字节。
long 变量名 = 初始值;//建议数字最后加上大写的L或者小写的l,便于区分。
public class TestDemo {
public static void main(String[] args) {
long a = 10L;
System.out.println(a);
System.out.println(Long.MAX_VALUE);//long的最大值
System.out.println(Long.MIN_VALUE);//long的最小值
}
}
运行结果:
表明long 的范围是[-2^63,2^63-1]
③short
short占2个字节
short 变量名 = 初始值;
4.浮点型变量
①float
基本格式: 单精度浮点型float,占4个字节。
float 变量名 = 初始值;//建议初始值后加大写F或小写f表示这个数是一个单精度浮点型!
public class TestDemo {
public static void main(String[] args) {
float a = 10L;
System.out.println(a);
}
}
运行结果:
②double
基本格式:双精度浮点型,占8个字节。
double 变量名 = 初始值;
public class TestDemo {
public static void main(String[] args) {
double a = 12.5;
System.out.println(a);
}
}
运行结果:
5.字符型变量
char
char占2个字节!
Java中字符都是用Unicode编码
char 变量名 = 初始值;
代码示例:
public class TestDemo {
public static void main(String[] args) {
char a ='A';
System.out.println(a);
}
}
public class TestDemo {
public static void main(String[] args) {
String name1 = "zhangsan";
String name2 = "lisi";
System.out.println(name1+name2);
}
}
运算符
1.算术运算符 :+ - * / %
代码如下:
public class TestDemo {
public static void main(String[] args) {
int a=5;
int b=2;
System.out.println(a+b);//加法运算符结果是7
System.out.println(a-b);//减法运算符结果是3
System.out.println(a*b);//乘法运算符结果是10
System.out.println(a/b);//除法运算符结果是2
System.out.println(a%b);//求余运算符结果是1
}
}
注:0不能作为除数!
public class TestDemo {
public static void main(String[] args) {
int a = 5;
int b = 0;
System.out.println(a/b);
}
}
会抛出0不能作为除数的异常!
2.增量运算符:+= -= *= /= %=
public class TestDemo {
public static void main(String[] args) {
int a = 5;
a+=1;//等价于a=a+1;此时a=6;
System.out.println(a);//6
a-=1;//等价于a=a-1;上次执行完a+=1时a已经变成了6,这时执行a-=1 a变成了5
System.out.println(a);//5
a*=2;//等价于a=a*2 此时a=10;
System.out.println(a);//10
a/=2;//等价于a=a/2;此时a=5;
System.out.println(a);//5
a%=2;//等价于a=a%2;此时a=1
System.out.println(a);//1
}
}
3.
自增 自减运算符
前缀++ 后缀++ 前缀-- 后缀--
public class TestDemo {
public static void main(String[] args) {
int a=1;
int b=a++;//等价于b=a a=a+1此时b=1 a=2;
System.out.println(b);//1
System.out.println(a);//2
b=++a;//等价于a=a+1 b=a 此时a=3 b=3;
System.out.println(b);//3
System.out.println(a);//3
b=a--;//等价于b=a a=a-1 此时b=3 a=2;
System.out.println(b);//3
System.out.println(a);//2
b=--a;//等价于a=a-1 b=a 此时a=1 b=1
System.out.println(b);//1
System.out.println(a);//
}
}
public class TestDemo {
public static void main(String[] args) {
int a = 10;
int b =5;
int c =6;
System.out.println(a>b&&a>c);//T
System.out.println(a>b||a>c);//T
System.out.println(a!=b);//T
System.out.println();
System.out.println(a<b&&a>c);//F短路求值,&&运算符中一假为假!
System.out.println(a<b||a>c);//T 或运算符中一真为真!
}
}
public class TestDemo {
public static void main(String[] args) {
int a=3;
int b=4;
System.out.println(a&b);//0
System.out.println(a|b);//7
System.out.println(a^b);//7
System.out.println(~a);//-4
}
}
我们来看 a和b的二进制表示
以上4张图是为什么得到这个答案的分析过程。
6.移位运算符
>>(右移):最右位不要了,正数最左侧补0,负数补1
<<(左移):最左侧位不要了,最右侧补0
>>>(无符号右移):最右侧不要了,最左侧补0
注:>>运算符 相当于除以2 右移n位 相当于除以2
的n次方
<<运算符 相当于 乘2 左移n位 相当于乘2的n次方
7.条件运算符
格式:
表达式1?表达式2:表达式3
比如:
public class TestDemo {
public static void main(String[] args) {
int a = 10;
int b = 2;
int c=a>b?a:b;
System.out.println(c);
}
}