java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题

合抱之木,生于毫末
崇台九层,起于累土

无论是大树参天还是高楼平地,都需要一点点从基础是积累,学习也是如此。而要学好一门编程语言,基础也尤为重要,所以在此浅谈java语言的一些基础问题
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题
1. java包含哪些数据类型
java数据类型包括基本类型复合类型
基本类型有:
(1)整数类型:byte,int,long,short ,如123,-786, 0等等
(2)浮点类型:float,double ,例如3.2F,-6.4D,等等
(3)字符类型:char ,如‘a’,‘b’等等
(4)布尔类型:Boolean,如true,false,也只有这两个

复合类型有:
(1)数组 (2)类 class (3)接口 interface
2.java基本数据类型转化包含哪两类?
(1)自动类型转化: 自动类型转化就是低级数据类型和高级数据类型做运算的时候,低级数据类型会自动转化成高级数据类型,运算的结果也是高级的数据类型。
整型,浮点,字符可以混合运算,所以需要转化为同一数据类型
如下图:
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题

(2)强制类型转化: 高级数据类型想变成低级数据类型,则需通过强制类型转化实现
例如: int i;
byte f=(byte)i; intbyte要高级,而要把i赋值给f,如果不用byte强制转化i的类型,便会出错

3.为什么需要包装类?
(1)基本数据类型不是对象,在一些场合不能使用,需要将其转化为包装类对象使用。例如一些类方法的参数必须是对象类型,有包装类就可以直接使用
(2)包装类的一些静态方法可以实现不同数据类型的转化
例如:将字符串“562”转化为整型,可以通过int a= Integer.parseInt(“562”)完成,这样方便快捷
(3)包装类的静态属性中含有相应数据类型的范围,就int和Integer为例,有Integer.MIN_VALUE(int的最小值)Double.NEGRATIVE_INFINITY(负无穷) 等等,可以方便使用

4.int和integer有什么区别?它们之间的互相转化是怎么样的?
区别就在于int为基本数据类型,不是类,而Integer为int对应的包装类
转化:
(1)基本数据类型转化为包装类对象通过构造方法实现
例如 Integer f = new Integer(10)
(2)从包装类对象得到其代表的基本数据类型的值需要调用该对象的对应方法

5.运算符&和运算符&&的区别是什么?逻辑运算符&和位运算符&的区别是什么?

运算符&是先执行左右两边,两边为真则式子为true
而运算符&&是先看左边是否为真,如果为真在执行右边,两边为真则式子为真,如果左边为假,则直接为false,右边忽略
例如:
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题
&&运算符,左边为假,右边不执行,输出i=1,j=1
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题
&运算符,先执行两边,输出i=1,j=2

逻辑运算符&与位运算符&的区别:
逻辑运算符&只能针对boolean类型进行逻辑运算,结果只能是true或false
位运算&是把数据先转化成机器可以识别的二进制补码的形式,再逐位按规则计算。都是1则为1,否则为0,对数值进行运算

6.java语言可以采用什么语句跳出多重循环?
(1)break lab; break只能跳出一个循环,break lab则可以跳出多个循环,lab为自定义符号
例如
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题
break就可以跳出到p所指的两个循环

(2)continue lab: 同break类似,continue只能退出本层循环,而continue lab能退出多重循环,lab为自定义符号
例如:
java语言基础:部分数据类型,包装类及转化,运算符和循环语句的问题
若if为真,则可以退出第2第3个for两重循环,执行第一个for的下一个循环

(3)break:直接退出该方法,想退多少层就退多少层(简单粗暴)