JAVA初学2(运算符-多重循环)

1.算术运算符类型

2.自增和自减注意事项

int j=8;
int k=++j;//等价于j=j+1;k=j;
int k=j++;//等价于k=j;j=j+1;

3.代码运算与数学运算

class Dog{
    public static void main(String[] args){
        double tem1=123.4;
        double tem2=5.0/9*(tem1-100);
        double tem3=(double)5/9*(tem1-100);
        System.out.println(tem2);
        System.out.println(tem3);
    }
}

4.逻辑运算符

5.与、或运算,异或

(1)短路与(&&):第一个条件为false,不判断第二个,结果为false,效率高

(2)逻辑与(&):都要判断,效率低

(1)短路或(||):第一个条件为true,不判断第二个,结果为true

(2)逻辑或(|):两个条件都要判断

异或:相同为假,相异为真

6.复合赋值运算符会有类型强转

byte b=2;
b+=2;//等价(byte)(b=b+2)
b++;//等价(byte)(b=b+1)

7.标识符命名规范

8.。键盘输入

需要导入java.util.Scanner

9.进制

二进制:0b或0B开头

八进制:0开头

十六进制:0x或0X表示

10.原码反码补码

符号位0为正数,1为负数,0的反码、补码都是0

正数三码都一样

负数反码=原码除符号位取反,负数补码=反码+1

11.计算机运算以补码方式运算,看运算结果要看原码

例:2&3先得到2和3的补码,补码相与结果为补码,由补码得到原码,原码对应的为答案

12.位运算符

13.选择结构-if

if(条件){ 代码1
}
else if(条件2){代码2 
}
else(条件3){代码n
}

选择结构可以没有else,都不符合条件则不输出(没有执行入口)

有else则不符合所有条件直接输出else对应的语句

14.选择结构-switch

switch(表达式){
    case 常量1:
    语句块1;
    break;
    case 常量2:
    语句块2;
    break;
...........
    case 常量n:
    语句块n;
    break;
    default:
    default语句块;
    break;
}
//表达式(返回值:byte,short,int,char,enum,String)与常量数据类型应当一致
或为可以自动转换的类型

//case子句表达式必须是常量或常量表达式

//没有break程序会继续执行到switch末尾

//将字符串取第一个字符 变成char

15.循环语句-for

for(循环变量初始化;循环条件;循环变量迭代){
    循环操作;
}
//for循环外还需使用变量时,可在外边定义,两边分号不能省略
//for(;   ;   ){}
//for(;;){}   死循环

16.循环-while、do-while

while语句结构:
循环变量初始化;
while(循环条件){
    循环体;
    循环变量迭代;
}

do-while语句结构:
循环变量初始化;
do{
    循环体;
    循环变量迭代;
}while(循环条件);

while:先判断后执行

do-while:先执行再判断

class Dog{
    public static void main(String[] args){
    	int i=1;
    	int sum=0;
    	do{
    		i+=1;
    		sum+=i;
    	}while(i<=100);
    	System.out.println(sum);
    }
}

17.多重循环过程举例

for(i=1;i<2,i++){
    for(j=1;j<3;j++){
        System.out.println(i,j);
    }
}
//1.先进i循环,i=1符合条件,进j循环
2.j=0符合条件,输出0,0
3.执行j=j+1,j=1符合条件,输出0,1
4.执行j=j+1,j=2符合条件,输出0,2
5.执行j=j+1 ,j=3不符合条件,退出j循环,回到i循环
6.执行i++,i=2符合条件,进入j循环
7.输出1,0  1,1  1,2后退出j循环,回到i循环
8.执行i=i+1,i=2不符合条件,退出i循环,程序结束
//结果输出:0,0   0,1   0,2   1,0   1,1   1,2

18.3个班级15个学生的成绩、班级总分平均分、总分平均分,及格人数

import java.util.Scanner;
public class Hello{
    public static void min(String[] args){
	    Scanner myScanner=new Scanner(System.in);
	    double total=0;
        int passNum=0;
	    for(int i = 1; i <= 3; i++){
		    double sum=0;
		    for(int j=1;j<=5;j++){
			    System.out.println("请输入第"+i+"个班级第"+j+"个学生的成绩");
			    double score=myScanner.nextDouble();
                if(score>=60){
                    passNum++;
                }
			    sum+=score;
		    }
		    total+=sum;
		    System.out.println("班级总分"+sum+"班级平均分为"+(sum/5));
	    }
	    System.out.println("总分为"+total+"平均分为"+(total/15));
        System.out.pringln("及格人数为"+passNum);
    }
}
import java.util.Scanner;
public class Hello{
	public static void main(String[] args){
		Scanner myScanner=new Scanner(System.in);
		double total=0;
		int passNum=0;
		for(int i=1; i <=3; i++){
			int sum=0;
			int ave=0;
			for(int j=1; j<=5; j++){
				System.out.println("请输入第"+i+"个班级第"+j+"个学生的成绩");
				double score=myScanner.nextDouble();
				if(score>=60){
					passNum+=1;
				}
				sum+=score;
				ave=sum/5;
			}
			total+=sum;
			System.out.println("第"+i+"个班级总分为"+sum+"平均分为"+ave);
		}
		System.out.println("总分为"+total+"平均分为"+(total/15));
		System.out.println("及格人数为"+passNum);
	}
}

19.输出金字塔

publiuc class Hello{
    public static void main(String[] args){
            for(int i=1;i<=5;i++){
                for(int k=1;k<=5-i;k++){
                    System.out.print(" ");
                }
                for(int j=1;j<=2*i-1;j++){
                    System.out.println("*");
                }
            }
        }
    }
public class Hello{
    public static void main(String[] args){
            for(int i=1;i<=5;i++){
                for(int k=(5-i);k>=0;k--){
                    System.out.print(" ");
                }
            	for(int j=1;j<=(2*i-1);j++){
                    System.out.print("*");
                }
                System.out.println(" ");
            }
        }
    }

20.输出空心金字塔

public class Hello{
    public static void main(String[] args){
            for(int i=1;i<=5;i++){
                for(int k=1;k<=5-i;k++ ){  
                	System.out.print(" ");
                	}                 
                for(int j=1;j<=2*i-1;j++){
            		if(j==1||j==2*i-1||i==5){
                    	System.out.print("*");
                	}else{
                		System.out.print(" ");
                	}               	
                }
                System.out.println(" ");
            }
        }
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值