JAVA学习(5)-全网最详细~

JAVA学习(5)-全网最详细~_第1张图片

write in front
大家好,我是Aileen.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
本文由Aileen_0v0 原创 CSDN首发 如需转载还请通知⚠️
个人主页:Aileen_0v0—CSDN博客
欢迎各位→点赞 + 收藏⭐️ + 留言​
系列专栏:Aileen_0v0的JAVA学习系列专栏——CSDN博客
我的格言:"没有罗马,那就自己创造罗马~"

目录

回顾 

引用数据类型- String

String 字符串的拼接  " + " 

字符串 与 字符串的拼接

​编辑

字符串 和 整数的拼接

Int 和 String 的相互转换 ✨

整型转字符串

字符串转整型 

final 关键字修饰的 常量

常见的常量 

数据类型转换 

隐式类型转换

显示类型转换 

 类型转换小结

int 和 boolean 相互赋值 ⛩

理解数值提升-int 和 long 混合运算⭐



JAVA学习(5)-全网最详细~_第2张图片

回顾 

前面几篇我们详细的讲解了JAVA 中八大基本数据类型,如有遗忘

点击链接:

http://t.csdnimg.cn/zMwV0  -变量和整型

http://t.csdnimg.cn/J32wc    -Long Double&Float

http://t.csdnimg.cn/KNpkZ   -Char Byte Short Boolean

进行跳转式阅读

今天我们开始下一部分-引用数据类型的学习~

引用数据类型- String

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		String str = "\\\\hello\\\\";//"hello"
		System.out.println(str);
		
		int i = 2147483647 + 1;
		int i2 = Integer.MAX_VALUE + 1;
		System.out.println(i);
		System.out.println(i2);
		
	}
}

命令行运行结果:

JAVA学习(5)-全网最详细~_第3张图片


String 字符串的拼接  " + " 

字符串 与 字符串的拼接

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		String a = "hello";
		String b = "world";
		String c = a + b;
		System.out.println(c);
	}
}

 控制台运行结果:

JAVA学习(5)-全网最详细~_第4张图片

---------------------------------------------------------------------------------------------------------------------------------

字符串 和 整数的拼接

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		String str = "result = ";
		int a = 10;
		int b = 20;
		String result = str + a + b;
		System.out.println(result);
	}
	
}

控制台运行结果: 

JAVA学习(5)-全网最详细~_第5张图片

Summary:

        打印内容只要有字符串,结果就是以字符串类型打印出来.


Int 和 String 的相互转换 ✨

整型转字符串

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		int num = 10;
		//方法1:
		String str1 = num + "";
		//方法2:
		String str2 = String.valueOf(num);
		System.out.println(str1);
		System.out.println(str2);
	}
}

控制台运行结果: 

JAVA学习(5)-全网最详细~_第6张图片

**************************************************************************************************************

字符串转整型 

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		String str = "100";
		int num = Integer.parseInt(str);
		System.out.println(num);
	}
}

控制台运行结果:

 JAVA学习(5)-全网最详细~_第7张图片

如果字符串里面含字母会怎么样呢?

package TestDemo;

	public class TestDemo {
		public static void main(String[] args) {
			String str = "100a";
			int num = Integer.parseInt(str);
			System.out.println(num);
		}
}

 控制台运行结果:JAVA学习(5)-全网最详细~_第8张图片

这是JAVA中的一种异常,后面会继续拓展~ 


final 关键字修饰的 常量

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		/**
		 * 常量只能被初始化一次,且使用的时候 一定要记得初始化.
		 */
		final int MAXNUM;
		MAXNUM = 999;//初始化常量 MAXNUM
		System.out.println(MAXNUM);
	}
}

 final 修饰的 变量 称为 常量--->用大写 MAXNUM表示

常量不能在 程序运行过程中 发生修改.

例如: 

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		/**
		 * 常量只能被初始化一次,且使用的时候 一定要记得初始化.
		 */
		final int MAXNUM;
		MAXNUM = 999;
		MAXNUM = 10000;
		System.out.println(MAXNUM);
	}
}

控制台运行结果:

JAVA学习(5)-全网最详细~_第9张图片

常见的常量 

10 int 字面值常量(十进制)
010 int 字面值常量(八进制) 由数字 0 开头  010 也就是十进制的8
0x10 int 字面值常量(十六进制)由数字 0x 开头 0x10 也就是 十进制的 16
10L long 字面值常量 可写作 10l (小写的L)
1.0 double

字面值常量 可写作 1.0d 或者 1.0D

1.5e2 double 字面值常量 科学计数法表示 相当于 1.5 * 10^2
1.0f float 字面值常量 可写作 1.0F
true boolean 字面值常量 同样的还有 false
'a' char 字面值常量 单引号中只能有一个字符
"abc" String 字面值常量 双引号中可以有多个字符


数据类型转换 

JAVA学习(5)-全网最详细~_第10张图片

隐式类型转换

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		int a = 10;
		long b = a;
		System.out.println(b);
	}
}

 控制台运行结果:

JAVA学习(5)-全网最详细~_第11张图片

**************************************************************************************************************

显示类型转换 

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		long a = 10;
		int b = (int)a;
		System.out.println(b);
	}
}

控制台运行结果:

JAVA学习(5)-全网最详细~_第12张图片

 JAVA学习(5)-全网最详细~_第13张图片

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		byte b = 10;
		byte c = 20;
		byte d = b + c;
		System.out.println(d);
	}
}

控制台运行结果:

JAVA学习(5)-全网最详细~_第14张图片

通过输出结果可知,b是 int 类型, c 也是 int 类型, 它们相加的结果也是 int 类型 ,不能直接转换成byte.

有两种方式可以对上面的代码进行修改:

方法1:

        将 byte d 改成 int d 

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		byte b = 10;
		byte c = 20;
		int d = b + c;
		System.out.println(d);
	}
	
}

控制台运行结果:

JAVA学习(5)-全网最详细~_第15张图片

方法2:

        对 b + c 进行强制类型转换.---> byte -1字节

package TestDemo;

public class TestDemo {
    /**
	 * 小于4个字节的数据类型 运算的时候 会发生类型的提升
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		byte b = 10;
		byte c = 20;
		byte d = (byte)(b + c);
		System.out.println(d);
	}
}

控制台输出结果:

 JAVA学习(5)-全网最详细~_第16张图片

 类型转换小结

1.不同数字类型的变量间赋值,表示范围更小的类型能隐式转换成范围较大的类型.

2.若需将大范围类型赋值给小范围,需要进行强制类型转换,但可能丢失精度.

3.将字面值常量进行赋值时,JAVA会自动针对数值范围进行检查.


int 和 boolean 相互赋值 ⛩

package TestDemo;

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

控制台运行结果: 

JAVA学习(5)-全网最详细~_第17张图片

 根据上面运行结果,我们可以得出: int 和 boolean 是毫不相干的两种类型,不能相互赋值.


理解数值提升-int 和 long 混合运算⭐

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		int a = 10;
		long b =  20;
		int c = a + b;
	}
}

控制台运行结果: 

JAVA学习(5)-全网最详细~_第18张图片

package TestDemo;

public class TestDemo {
	public static void main(String[] args) {
		int a = 10;
		long b = 20;
		long d = a + b;
		//int c = a + b;
		System.out.println(d);
	}

 控制台运行结果:

JAVA学习(5)-全网最详细~_第19张图片

类型提升summary:

        1.不同类型的数据混合运算,范围小的会提升为范围大的.

        2.对于 short , byte 这种比4个字节小的类型,会先提升为4个字节的 int ,再进行运算.

你可能感兴趣的:(JAVA,jvm,学习,开发语言,前端,java,eclipse,github)