学习主题:Java语言基础教程-Day02语言基础组成、if语句、switch
学习内容:标示符、常量、进制的转换、变量、类型的转换、算数运算符..
一、进制的转换:
1.二进制和十进制之间转换、十六进制、八进制
2.负数的二进制
二、常量与变量
class VarDemo
{
public static void main(String[] args)
{
int x = 4;
System.out.println(x);
x = 10;
System.out.println(x);
//演示其他数据类型
byte b = 2;//-128~127;
//byte b1 = 128;128超过byte范围,错误;
System.out.println(b);
short s =3000;
System.out.println(s);
long l =4l;
System.out.println(l);
float f = 2.3f;//2.3后面不加f会报错误;
System.out.println(f);
double d = 34.56;
System.out.println(d);
char ch = '4';
char ch1 = 'a';
char ch2 = '+';
char ch3 = ' ';
System.out.println(ch);
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
boolean bo = true;
System.out.println(bo);
boolean bo1 = false;
System.out.println(bo1);
int a =5;
a =a + 6 ;
System.out.println(a);
}
}
三、算术运算符、转义字符
class OperateDemo
{
public static void main(String[] args)
{
int x = 4270;
x = x / 1000 * 1000;
System.out.println(x);
System.out.println(-1%5);
int a = 3,b;
b = a++;
System.out.println(a);
System.out.println(b);
int a1 =3,b1;
b1 = ++a1;
System.out.println(a1);
System.out.println(b1);
System.out.println("ABCDEFG"+"HIJKLMN");
System.out.println("5+5="+5+5);
System.out.println("5+5="+(5+5));
int a2 =3,b2;
b2 = ++a2;
System.out.println("a="+a2+",b="+b2);
/*
转义字符:
\n: 换行;
\b: 退格backspace;
\r: 按下回车键。windows系统,回车符是有两个字符来表示;
\t: 制表符。相当于tab键。
*/
System.out.println("Hello\nWorld!");
System.out.println("\"Hello World!\"");
System.out.println("\\Hello World\\");
char ch = '\'';
char c = '你';
}
}
四、逻辑运算符:
class OperateDemo2
{
public static void main(String[] args)
{
/*
int x =7;
逻辑运算符用于链接boolean类型的表达式。
x>3 & x<6 = true & true = true;
true & true = true;
true & false = false;
false & true = false;
false & false = false;
true | true = true;
true | false = true;
false | true = true;
false | false = false;
true ^true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
^:两边相同结果是false.
两边不同结果是true.
*/
int a = 2;
System.out.println(a>3 && a<6);
int b = 3;
System.out.println(b>4 || b<6);
System.out.println(false ^ false);
}
}
五、位运算符
class weiyunsuan{
public static void main(String[] args)
{
System.out.println(-6>>>2);//-6>>>2 = 1073741822;
System.out.println(~6); //-7
System.out.println(~7); //-8
System.out.println(~2); // 负数加1;
}
}
六、位运算符(与-或-异或)
七、练习
1.最有效率运算2*8 : 2<<3
//最有效率运算2*8
class practice1
{
public static void main(String[] args)
{
System.out.println(2 * 8);
System.out.println(2<<3);//最效率运算;
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------
2.对两个整数变量的值进行互换(不需要第三方变量):
//对两个整数变量的值进行互换(不需要第三方变量)
class practice2
{
public static void main(String[] args)
{
int n = 3,m = 8;
System.out.println("n="+n+",m="+m);
/*方法1,通过第三方变量;开发一般用这个,阅读性比较强;
int temp = n;
n = m;
m = temp;
方法2,不用第三方变量,此方法有局限性,容易损失精度;
n = n + m; //如果n和m的值非常大,容易超出int范围。
m = n - m;
n = n - m;
System.out.println("n="+n+",m="+m);
*/
//方法3,技巧方式;
n = n ^ m;
m = n ^ m;//(n^m)^m;
n = n ^ m;//n^(n^m);
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------
3.三元运算符:
//三元运算符;
class practice3
{
public static void main(String[] args)
{
int num = 60;
//获取60的最低4位,通过&15;
int n1 = num & 15;
System.out.println(n1>9?(char)(n1-10+'A'):n1);
//获取下一组4位,将60右移4位。
int temp = 60 >> 4;
//对temp的值进行最低4位的获取
int n2 =temp & 15;
System.out.println(n2>9?(char)(n1-10+'A'):n2);
/*
0-9 'A' 'B' 'C' 'D' 'E' 'F'
65 66 67
10 11 12 13 14 15
12 - 10 = 2 + 'A' = (char)67;
*/
int x = 3,y;
y = (x>1)?100:200;
System.out.println("y="+y);
}
}
八、if语句练习
1
class IFDemo
{
public static void main(String[] args)
{
int x = 10;
if(x>1)
System.out.println("x>1");
if(x>10)
System.out.println("x>10");
else
System.out.println("x<10 or x=10");
if(x>10)
System.out.println("x>10");
else if(x<10)
System.out.println("x<10");
else
System.out.println("x=10");
if(x>1)
System.out.println("x大于1");
if(x>2)
System.out.println("x大于2");
if(x>3)
System.out.println("x大于3");
if(x>10)
System.out.println("x大于10");
else
System.out.println("x我也不知道");
System.out.println("over");
}
}
-------------------------------------------------------------------------------------------------
2.
class IfTest
{
public static void main(String[] args)
{
//需求1:根据用户定义的数值不同。打印对应的星期几;
int num = 8;
if(num==1)
System.out.println("星期一");
else if(num==2)
System.out.println("星期二");
else if(num==3)
System.out.println("星期三");
else if(num==4)
System.out.println("星期四");
else if(num==5)
System.out.println("星期五");
else if(num==6)
System.out.println("星期六");
else if(num==7)
System.out.println("星期七");
else
System.out.println("日期不存在");
//需求2:根据用于指定月份,打印该月份所属的季节;
//春季3 4 5 ,夏季6 7 8 ,秋季9 10 11 ,冬季12 1 2。
int x = 15;
if(x>12 || x<1) //(||换&& 试试看)
System.out.println("月份不存在");
else if(x>=3 && x<=5)
System.out.println("春季");
else if(x>=6 && x<=8)
System.out.println("夏季");
else if(x>=9 && x<=11)
System.out.println("秋季");
else
System.out.println("冬季");
//注意 >= 和 <= 的正确格式
}
}
九、switch 的练习
class SwitchTest
{
public static void main(String[] args)
{
//需求2:根据用于指定月份,打印该月份所属的季节;
//春季3 4 5 ,夏季6 7 8 ,秋季9 10 11 ,冬季12 1 2。
int x = 4;
switch(x) //用于 byte short int char
{
case 3:
case 4:
case 5:
System.out.println(x+"春季");
break;
case 6:
case 7:
case 8:
System.out.println(x+"夏季");
break;
case 9:
case 10:
case 11:
System.out.println(x+"秋季");
break;
case 12:
case 1:
case 2:
System.out.println(x+"冬季");
break;
default:
System.out.println(x+"NONO");
}
}
}