2变量和运算符

在这里插入图片描述

1.1定义整型/长整型/单精度浮点型…变量

int 变量名 = 初始值;
eg:

int num = 10;//定义一个整型变量
System.out.println(num);//输出定义的整型变量
public class HelloWorld {
public static void main (String [] args) {
int a=10;//定义int类型的变量
System.out.println (a) ;//打印并换行
System.out.print (a) ;//打印但是不换行
System.out.printf ( " %d \n" ,a);//以格式化的形式输出
}
}

局部变量一定要初始化,java中只有局部变量没有全局变量,如果不知道初始化为什么就初始化为0
①定义长整型变量及单精度浮点型变量在初始值后面加上f/F l/L

long num = 10L;
float num = 1.0f;

②特殊例子

public static void main (String [] args) {
	int a = 1;
	int b = 2;
	System.out.println(a/b);//int 除以int仍然是int,结果是0
}
public static void main (String[] args) {
	double a = 1;
	double b = 2;
	System.out.println(a/b);//结果是0.5
}
public static void main(String[] args) {
	double num = 1.1;
	System.out.println(num * num);//结果是1.2100000000o00002

}

1.1.1 常看变量取值范围

System.out.println(Integer.MAX_VALUE);//int的最大值
System.out.println(Integer.MIN_VALUE);//int的最小值
public class Helloworld {
public static void main (string [] args) {int a=10;//定义int类型的变量
system.out.println(Integer.MAX_VALUE);//输出int的最大值system.out.println(Integer.MIN_VALUE);//输出int的最小值}
}

1.1.2布尔类型

①boolean类型的变量只有两种取值,true表示真,false表示假
②java中的boolean不能和int类型互换,不存在1表示true

1.2字符串

①双引号+若干字符表示字符串
当需要在输出结果前面加文字描述输出的内容时,用双引号好引起文字内容+连接
②任何类型的数据符与字符串拼接都是字符串

public class HelloWorld {
public static void main (String[] args) {
int a=10 ;
int b=20 ;
System.out.println (a+b) ;
System.out.println("张三"+a+b);//任何类型的数据与字符串拼接,结构都是字符串
}
}

③常见转义字符

转义字符解释
\n换行
\t水平制表符
\’单引号
\"双引号
\\反斜杠

1.3变量

①java中标识符由数字字母下划线 组 成 , 但 不 能 以 数 字 开 头 ( 组成,但不能以数字开头 ( ,和下划线_可以开头但是不建议这样写)
②推荐小驼峰命名法即首字母大写,同时尽量不使用拼音

1.4常量

final修饰常量

public static void main (String[] args) {
	final int a =10;  //final修饰常量
	System.out.println(a);
}

1.5类型转换

1.5.1 int和long/double 混合运算

不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行(小的可以给大的)
当int和long 混合运算的时候,int 会提升成long,得到的结果仍然是long

public static void main (String[] args) {
	int a = 10;
	long b = 20;
	a = b;
}//Helloworld.java:81:错误:不兼容的类型:从long转换到int可能会有损失a = b ;

1.5.2 int 和boolean 相互赋值

int和boolean是两种不相关的类型不能相互转换

public static void main4 (String[] args) {
	int a = 10;
	boolean b = true;
	a = b;
	b = a;
}

在这里插入图片描述

1.5.3 int常量给byte赋值

public static void main (String[] args) {
			byte a = 100;//通过
			byte n = 288;// 从int转换到byte可能会有损失
		}

1.5.4 int 和String之间的相互转换

public static void main (String[] args) {
            int num = 10;
            String str1 = num + "";//方法1  int转换成String
            System.out.println(str1);
            String str2 = String.valueOf(num);//方法2  int转换成String
            System.out.println(str2);
        }
    //10
    //10
public static void main1 (String[] args) {
            String str ="100";
            int num = Integer.parseInt(str); //String转换成int
            System.out.println(num);
        }
        //100

类型转换的总结
①int和long/double之间的混合运算,小的类型会转换成大类型
②int和boolean不能互相赋值
③int可以赋值给byte类型但不能超过byte的范围
④int 类型和字符串类型使用语句可以相互转换

2运算符

2.1算数运算符

2.1.1基本运算符

++ - * / %
①int/int 结果还是int,需要使用double 计算,/两边都是int结果是int,只要有一个小数结果就是小数
②0不能作为除数
③%对int和double 均可取余

public static void main (String[] args) {
System.out.println (5/2);//2
System.out.println(5.0/2);//2.5,两边只要有一个小数结果就是小数System.out.println((float)5/2);//2.5,先把5强转成单精度浮点型
System.out.println((float)(5/2));//2.0,把5/2的结果强转成单精度浮点型
}

2.1.2 增量运算符

+= -= *= /= %=
a+=1等价于 a = a + 1

2.1.3 自增/自减运算符

++ –

public static void main(String[ ] args) {
int a = 10;
int b = ++a ; //a+1之后把a赋值给b
System.out.println (a) ; / /11
System.out.println(b); //11
}
public static void main (String[] args){
int a = 10 ;
int b = a++;//先把a赋值给b再a+1
System.out.println (a);//11
System.out.println (b) ;//10
}

特殊例子记住

public static void main (String [] args)
int i = 10;
i = i++;
System.out.println (i);//10
}

2.2关系运算符

!= < > <= >=
关系运算符的表达式返回值都是boolean类型

2.3逻辑运算符

&& || !
关系运算符的操作数和返回值都是boolean类型
&&和||都遵守短路求值规则
①&&,r如果左侧表达式为false,表达式的整体一定是false,无需计算右侧表达式
②||,如果右侧表达式为true,表达式的整体一定为true,无需计算右侧表达式

System.out.println(10>20&&10/0 == 0);//false
System.out.println(10<20&&10/0 == 0);//true
//计算10/0会导致程序异常报错,上述没有报错,是因为以上逻辑符遵守短路求值,运算符右侧的表达式没有计算

2.4位运算符

&(按位与) |(按位或) ~(按位取反)
^(按位异或,如果两个数字的二进制位相同结果为0,相反为1)
位操作表示按二进制位运算,将两个数字转换成二进制进行按位运算,得到二进制结果再转换成十进制
得到的结果仍然是十进制

2.5移位运算

<< >> >>>
①左移<< 最左侧位不要,最右侧补0
②右移>> 最右侧位不要,最左侧补符号位(正数补0,负数补1)
③无符号右移>>> 最右侧位不要,最左侧补0

2.6条件运算符

三目运算符
表达式1 ? 表达式2 : 表达式3
当表达式1的值为true时,整个表达式的值为表达式2的值;
当表达式1的值为false时,整个表达式的值为表达式3的值.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值