本帖最后由 裘-样 于 2015-9-11 00:28 编辑
package com.itheima.javaday2;
/*
今天是基础班的第二天,我整理了一下知识点,欢迎大家交流。
1,常量可以直接被输出。
2,变量(掌握),数据类型(掌握)。
3,运算符(掌握)。
*/
class Demo
{
public static void main(String[] args){
//1,常量可以直接被输出。
System.out.println("1,常量可以直接被输出:");
System.out.println(123);
System.out.println(12.5);
System.out.println('a');
System.out.println(true);
System.out.println("------------------------------------");
//2,变量(掌握),数据类型(掌握)
System.out.println("2,变量(掌握),数据类型(掌握):");
//2.1,整数类型。
System.out.println("2.1,整数类型:");
byte b = 127;//byte类型 一个字节
short s = 511;//short类型 两个字节
int i = 1234;//int类型 四个字节
long L = 12431348917658L;//long类型 八个字节,需要在数据后加L
System.out.println("b = "+b);
System.out.println("s = "+s);
System.out.println("i = "+i);
System.out.println("L = "+L);
System.out.println("-----------------");
//2.2,浮点型
System.out.println("2.2,浮点型:");
float f = 12.3f;//float类型 四个字节,需要在数据后加f
double d = 12.324341;//double类型 八个字节
System.out.println("f = "+f);
System.out.println("d = "+d);
System.out.println("-----------------");
//2.3,字符型和布尔型
System.out.println("2.3,字符型和布尔型:");
char c = 'w';//char类型 两个字节
boolean bo = true;//boolean类型 不确定字节数,
//但可以认为是一个字节,其值只有true和false
System.out.println("c = "+c);
System.out.println("bo = "+bo);
System.out.println("-----------------");
//2.4,强制类型转换。
System.out.println("2.4,强制类型转换:");
int i1 = -130;
byte b1 = (byte)i1;//涉及到原码、反码和补码
System.out.println("-130强制类型转换之后b1的值为:"+b1);
System.out.println("-----------------");
//2.5,自动类型转换
System.out.println("2.5,自动类型转换:");
byte b2 = 127;
int i2 = 1234;
i2 = i2 + b2;
System.out.println("这里进行了自动类型转换i2 = i2 + b2:"+i2);
System.out.println("-----------------");
//***2.6,类型转换面试题***
System.out.println("***2.6,类型转换面试题***:");
short s2 = 23;
//s2 = s2 + 2;//这是错误的,左边自动提升为了int型,
//右边为short型,编译出错
s2 = (short)(s2 + 2);//等同于s2 += 2;
System.out.println("s2 = "+s2);
System.out.println("------------------------------------");
//3,运算符(掌握)
System.out.println("3.1,运算符:");
//3.1,算术运算符 + - / * % ++ --
System.out.println("3.1,算术运算符:");
//3.1.1,加法
System.out.println("3.1.1,加法:");
int i311 = 3;
byte b311 = 4;
i311 = i311 + b311;
System.out.println("3+4 = "+i311);
System.out.println("------------");
/*
3.1.2,除法
注意事项:
整数除以整数结果只能是整数。
如果需要精确一点的值,则可以用到浮点型float和double
*/
System.out.println("3.1.2,除法:");
int i312 = 2;
short s312 = 5;
System.out.println("5/2 = "+s312/i312);
System.out.println("2/5 = "+i312/s312);
System.out.println("------------");
//3.1.3,取余
System.out.println("3.1.3,取余:");
int i313 = 2;
short s313 = 5;
System.out.println("5%2 = "+s313%i313);
System.out.println("2%5 = "+i313%s313);
System.out.println("------------");
//***3.1.4,++和--***
System.out.println("***3.1.4,++和--***:");
int m = 1;
int n = 1;
m ++;
++ n;
System.out.println("++单独使用,未参与运算时:");
//可以看出++无论在什么位置都与m = m+1;的结果无异
System.out.println("m的初始值为1,m++之后的值为:"+m);
System.out.println("n的初始值为1,++n之后的值为:"+n);
System.out.println("--------");
System.out.println("++参与运算后:");
/*
可以看出++参与运算之后,位置不同结果不同。
++在后,先赋值后自增1
(但是内存中的过程不是如此,
而是先用一个临时变量存储m2的值,
之后m2自增1,赋值的时候把临时变量存储的值赋值给变量m3)
++在前,先自增1后赋值
*/
int m2 = 1,m3;//1
m3 = m2++;
System.out.println("m2的初始值为1,m3 = m2++之后的值为:"+m3);
int n2 = 1,n3;
n3 = ++n2;//2
System.out.println("n2的初始值为1,n3 = ++n2之后的值为:"+n3);
System.out.println("-----------------");
/*
3.2,逻辑运算符:& | ! ^ && ||
一般使用 && 和 || 还有 !
***面试题***:
& 和 &&的区别
都是逻辑与的运算,但是&&是短路与,
如果左边的为假就不需要判断右边的了,
结果直接为假。
而&是普通与,两边都需要进行运算之后再判断总的值。
*/
System.out.println("3.2,逻辑运算符:");
int i321 = 10;
int i322 = 20;
System.out.println(i321<15 & i322>15);
System.out.println("-----------------");
/*
3.3,赋值运算符 = -= += *= /= %= <<= >>= >>>=
-=等其他的赋值运算的左边必须为变量
*/
System.out.println("3.3,赋值运算符:");
int i331 = 2;
int i332 = 5;
i332 %= i331;
System.out.println("i332 %= i331的值为:"+i332);
System.out.println("-----------------");
/*
3.4,位运算符 << >> >>>(无符号右移)
当乘除的运算中被乘数或被除数为2的n次方时,
可以用到位运算,速度较快。
*/
System.out.println("3.4,位运算符:");
System.out.println("8>>2的值为:"+(8>>2));
System.out.println("-----------------");
/*
3.5,关系运算符 == != > < >= <=
在判断语句中使用,其值为boolean类型
*/
System.out.println("3.5,关系运算符:");
int i351 = 4;
int i352 = 5;
System.out.println("4 == 5的值为:"+(i351 == i352));
System.out.println("4 != 5的值为:"+(i351 != i352));
System.out.println("4 >= 5的值为:"+(i351 >= i352));
System.out.println("4 <= 5的值为:"+(i351 <= i352));
System.out.println("4 > 5的值为:"+(i351 > i352));
System.out.println("4 < 5的值为:"+(i351 < i352));
System.out.println("-----------------");
/*
3.6,三元运算符 (布尔表达式)? 值a:值b
如果布尔表达式的值为true,则结果取值a,否则,取值b
*/
System.out.println("3.6,三元运算符:");
System.out.println("三元运算(1>2)?100:200的值为:"+((1>2)?100:200));
}
}
|
|