数据类型的可转换性
变量名
变量名是开发者给变量取得名字
变量名的规范
- 首字母
1.可以是字母
2.可以是下划线_
3.可以是美元$符号 - 其他
1.可以是数字
2.可以是字母
3.下划线和美元 _ , $
变量的基本运算
加减乘除和取余数
加法用+
减法用-
乘法用*
除法用/
取余数用%
赋值运算符+= -= *= /=
public static void main(String[] args){
int i = 3;
int j = 4;
j += i;//j = j+i
System.out.println(j);
j -= i;//j = j-i
System.out.println(j);
j *= i;//j = j*i
System.out.println(j);
j /= i;//j = j/i
System.out.println(j);
递增递减运算符
public static void main(String[] args){
int i=2;
i++;
System.out.println(i);
i--;
System.out.println(i);
}
运行结果
关系运算符
大于>
小于<
等于==
不等于!=
public static void main(String[] args){
int i = 10;
int j = 13;
boolean k = true;
k = i<j;
System.out.println(k);
k = i>j;
System.out.println(k);
k = i!=j;
System.out.println(k);
k = i==j;
System.out.println(k);
}
运行结果
逻辑运算符
逻辑与&&
逻辑或||
逻辑非!
public static void main(String[] args){
boolean k = true;
boolean m = false;
boolean n = false;
n = k&&m;
System.out.println(n);
n = k||m;
System.out.println(n);
n = !k;
System.out.println(n);
}
运行结果
位运算符
public static void main(String[] args){
int i = 10;
int j = 13;
int k;
k = i&j;//转换成二进制运算 i = 1010
// j = 1101
// k = 1000=8
System.out.println(k);
k = i|j;// i = 1010
// j = 1101
// k = 1111 = 15
System.out.println(k);
k = ~j;
// j = 1101
// ~j = 0010
System.out.println(k);
k = i^j;
// i = 1010
// j = 1101
// k = 0111 = 7
System.out.println(k);
}
运行结果
java程序流程控制
条件语句if
语句对应框图
public static void main(String[] args){
int s = 0;
Scanner scanner = new Scanner(System.in);
s = scanner.nextInt();
if(s<60){
System.out.println("挂科了兄弟");
if(s>40){
System.out.println("学渣你好");
}else{
System.out.println("只有学沫可以形容你了");
}
}else if(s<80){
System.out.println("成绩良好");
}else if(s<90){
System.out.println("成绩优秀");
}else{
System.out.println("你是学霸");
}
}
运行结果
条件语句switch
语句对应框图
public static void main(String[] args){
int s = 0;
Scanner scanner = new Scanner(System.in);
s = scanner.nextInt();
switch(s/10){
case 10:
System.out.println("你是满分");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中等");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("不及格");
break;
}
程序运行结果
循环语句
while循环的框图
do while循环的框图
for循环的框图
public static void main(String[] args){
int i = 0;
int k = 0;
int j = 0;
int count1 = 0;
int count2 = 0;
int count3 = 0;
for(i = 0;i<=1000;i++){
count1 = count1+i;
}
System.out.println(count1);
while(k<=1000){
count2 = count2+k;
k++;
}
System.out.println(count2);
do{
count3 = count3+j;
j++;
}while(j<=1000);
System.out.println(count3);
}
运行结果
循环语句的应用,水仙花数
寻找1000以下的水仙花数,并打印出来(水仙花数是数字的个位,十位,百位,的三次方的和等于自身)
public class ShuiXianHua {
public static void main(String[] args){
int i = 0;
for(i = 100;i<1000;i++){
int bai = i/100;
int shi = i/10%10;
int ge = i%10;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai){
System.out.println("水仙花数是:"+i);
}
}
for(int a = 1;a< 10;a++){
for(int b = 0;b <10;b++){
for(int c = 0;c <10;c++){
if(a*a*a+b*b*b+c*c*c == a*100+b*10+c){
System.out.println("水仙花数是:"+(a*100+b*10+c));
}
}
}
}
}
}
上述有两种方法查找水仙花数。运行结果为
循环语句的应用,寻找二进制的1的个数。
public class ErJinZhi {
public static void main(String[] args){
int s = 0;
int count=0;
int count1 = 0;
Scanner scanner = new Scanner(System.in);
s = scanner.nextInt();
for(int j = 0;j<32;j++){
if(s%2==1){
count++;
}
s>>=1;
}
System.out.println(count);
int t = 0;
Scanner scanner1 = new Scanner(System.in);
t = scanner1.nextInt();
for (int m = 0; m< 32; m++) {
if(t%2==1){
count1++;
}
t=t/2;
}
System.out.println(count1);
}
}