栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础——2、基本语法(中)—类型转换、进制、运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础——2、基本语法(中)—类型转换、进制、运算符

接上一张内容
基本数据类型

目录
    • 3.2、基本数据类型变量间转换
      • 3.2.1、自动类型提升
      • 3.2.2、强制类型转换
    • 3.3、基本数据类型与String间的转换
      • 3.3.1、String运算题
    • 3.4、进制与进制间的转换
      • 3.4.1、进制
      • 3.4.2、二进制原码、反码、补码
      • 3.4.3、进制间的转化
  • 4、运算符
    • 4.1、算术运算符
    • 4.2、赋值运算符
    • 4.3、比较运算符(关系运算符)
    • 4.4、逻辑运算符
    • 4.5、左移右移位运算符
    • 4.6、三元运算符

3.2、基本数据类型变量间转换 3.2.1、自动类型提升
class VBTest {
	public static void main(String[] args) {
		byte b1=2;
		int i1=3;·
		int i2=b1+i1;
		System.out.println(i2);//5
		short s1=10;
		short s2=s1+b1;
		System.out.println(s2);//结果错误,结果应该用int型接收
	}
}

3.2.2、强制类型转换
class VBTest2 {
	public static void main(String[] args) {
		double d1=12.3;
		int i1=(int)d1;//强转
		System.out.println(i1);//12 损失了精度
	}
}

3.3、基本数据类型与String间的转换
class StringTest {
	public static void main(String[] args) {
		String s1="我是";
		String s2="字符串";
		System.out.println(s1+s2);//我是字符串
		boolean b1=true;
		s2=s2+b1;
		System.out.println(s2);//字符串true
	}
}

3.3.1、String运算题
class StringTest {
	public static void main(String[] args) {
		char c='a';//97 A:65
		int n1=10;
		String s1="hello";
		System.out.println(c+n1+s1);//107hello
		System.out.println(c+s1+n1);//ahello10
		System.out.println(c+(s1+n1));//ahello10
		System.out.println(c+(n1+s1));//a10hello
		System.out.println((c+n1)+s1);//107hello
		System.out.println(s1+n1+c);//hello10a
	}
}

3.4、进制与进制间的转换 3.4.1、进制


12进制:一年12个月
24进制:一天24个小时
60进制:一个小时有60分钟

class StringTest {
	public static void main(String[] args) {
		int n1=0b110;
		int n2=110;
		int n3=0127;
		int n4=0x110A;
		System.out.println("n1 = "+n1);//n1 = 6
		System.out.println("n2 = "+n2);//n2 = 110
		System.out.println("n3 = "+n3);//n3 = 87
		System.out.println("n4 = "+n4);//n4 = 4362
	}
}
3.4.2、二进制原码、反码、补码

二进制转十进制


3.4.3、进制间的转化



4、运算符 4.1、算术运算符

class StringTest {
	public static void main(String[] args) {
		//(前++):先自增1,后运算
		int a1 = 10;
		int b1 = ++a1;
		System.out.println(a1);//a1=11
		System.out.println(b1);//11
		//(后++):后运算,后自增1
		int a2 = 10;
		int b2 = a2++;
		System.out.println(a2);//a1=11
		System.out.println(b2);//10
	}
}



4.2、赋值运算符

= 、 += 、-=、 *=、/=、%=

class StringTest {
	public static void main(String[] args) {
		int n1=10;
		n1 += 2;//n1=n1+2
		System.out.println(n1);//12
		int n2=11;
		n2 %= 5;//n1=n1%5
		System.out.println(n2);//1
		int n3=11;
		n3 /= 5;//n1=n1/5
		System.out.println(n3);//2
		short s1=10;
		//s1=s1+2;//编译不通过
		s1+=2;//不会改变变量本身的数据类型
		System.out.println(s1);//12
	}
}

int类型乘浮点型 得截取为int类型 所以0.1最终被截取为0

4.3、比较运算符(关系运算符)

4.4、逻辑运算符


开发中,推荐使用短路与||和短路或&&

4.5、左移右移位运算符

4.6、三元运算符

class StringTest {
	public static void main(String[] args) {
		//求两个数的最大值
		int n=10;
		int m=18;
		int max=(m>n)?m:n;
		System.out.println(max);//18
		//求三个数的最大值
		int n1=12;
		int n2=30;
		int n3=-43;
		int max1=(n1>n2)?n1:n2;
		int max2=(max1>n3)?max1:n3;
		System.out.println("三个数最大值为:"+max2);三个数最大值为:30
	}
}

凡是可以使用三元运算符的地方,都可以改写为if-else,反之不成立
如果程序可以使用三元运算符,又可以使用if-else,那么优先使用三元运算符 原因:代码简洁,执行效率高

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号