**1)众所周知,Java是面向对象的编程,C++是面向过程的编程,但是何为面向对象?何为面向过程?
举个简单的例子:
猪(吃)西瓜 在这句话中,不在乎是怎样吃的(咀嚼,鲸吞...),我们只在乎对象
吃(西瓜,猪) 在这句话中,不在乎对象是谁(阿猫,阿狗...),只在乎吃的过程
这便是对面向对象,面向过程粗浅的理解
2)一个字节的范围是-128~127之间,当时我在为最大值而纠结,脑海里总想的最大值应该是1111 1111(实际最大值是0111 1111),在这里介绍下原码 ,反码和补码,计算机中显示的都是补码,例如:
2 -2
原码:0000 0010 1000 0010(计算机比较笨,不认识负数,规定最高位为符号
位,1表示负数)
反码:1111 1101 1111 1101(符号位不变,其他位按位取反)
补码:0000 0010 1111 1110 (反码最低位+1)
正数的补码就是原码,负数的补码是原码按位取反最低位加1
127:去掉符号位,最大便是0111 1111
-128:1000 0000
3)break 和 continue的用法**
break是结束循环或者跳出循环,例如如下代码:
public class playGane {
public static void main(String[] urgs){
for(int i = 0;i<2;i++){
for(int j = 0;j < 2;j++){
System.out.println("i的值为:" + i+","+ "j的值为:"+j);
if(j == 0){
//break;
}
System.out.println("八戒");
}
}
我们看看不加break运行的结果:
i的值为:0,j的值为:0
八戒
i的值为:0,j的值为:1
八戒
i的值为:1,j的值为:0
八戒
i的值为:1,j的值为:1
八戒
public class playGane {
public static void main(String[] urgs){
for(int i = 0;i<2;i++){
for(int j = 0;j < 2;j++){
System.out.println("i的值为:" + i+","+ "j的值为:"+j);
if(j == 0){
break; //当j为0时便结束此循环
}
System.out.println("八戒");
}
}
让我们看看加了break的运行结果:
i的值为:0,j的值为:0
i的值为:1,j的值为:0
很明显,当加了break之后,当j为0时,便已结束此层循环,不再往此层循环的后面执行
continue是结束本次循环,进行下一次循环,例如如下代码:
public class playGane {
public static void main(String[] urgs){
for(int i = 0;i<2;i++){
for(int j = 0;j < 2;j++){
System.out.println("i的值为:" + i+","+ "j的值为:"+j);
if(j == 0){
//continue;
}
System.out.println("八戒");
}
}
不加continue的运行结果为:
i的值为:0,j的值为:0
八戒
i的值为:0,j的值为:1
八戒
i的值为:1,j的值为:0
八戒
i的值为:1,j的值为:1
八戒
让我们看看加了continue的运行结果:
public class playGane {
public static void main(String[] urgs){
for(int i = 0;i<2;i++){
for(int j = 0;j < 2;j++){
System.out.println("i的值为:" + i+","+ "j的值为:"+j);
if(j == 0){
continue; //当j为0时,结束本次循环,进行新循环
}
System.out.println("八戒");
}
}
运行结果为:
i的值为:0,j的值为:0
i的值为:0,j的值为:1
八戒
i的值为:1,j的值为:0
i的值为:1,j的值为:1
八戒
从结果我们可以看出,若不加continue,则会按着程序进行,没进行一次i,j输出,都会有字符串“八戒”的输出,当加了continue之后,则当运行到j为0时,便结束此次循环,即本段代码中“八戒”不会输出,而是进行下一次循环,当判读条件结束之后,才会输出“八戒”