Java学习日志----第2天

Java学习日志----第2天,第1张

Java学习日志----第2天 *1.运算符 * 赋值运算符
package _01_Opreator;

public class Operator_01 {

	public static void main(String[] args) {
		byte i = 2;
		//自动强制类型转换
		i+=3;
		//这种需要强制转换,i+3结果为int
		i = (byte) (i + 3);
		//i++等价于i = i + 1;
		i++;
//		 * 左结合:同等优先级 先算左边
//		 * 右结合:同等优先级 先算右边
//		 * +=这些是右结合
		int a = 10 ;
		a*= a+=1;//左结合为101,右结合110
						//初始化还是从左到右,不过先执行右边的 
//						10*=10+=1---->10*=11----->110
		
		System.out.println(a);
	}

}

* 字符串连接符
package _01_Opreator;



public class Operator_02 {

	public static void main(String[] args) {
		String string ="大大大大";
//		 * 用+把多个数据拼接成一个字符串
		int a = 1;
		int b = 2;
		//如果两端为数字则为加和运算
		System.out.println(a+b);
		//如果两端有一个字符串,则为字符串拼接符,用来把他们连接起来
		System.out.println("a+b"+a+b);
		//如果还要运算则加括号
		System.out.println("a+b="+(a+b));
				
	}

}
 * 三目运算符
package _01_Opreator;

public class Operator_03 {
	public static void main(String[] args){
		int i = 2 < 2 ? 1 : 0;
		//为false,i==0;
		System.out.println(i);
	}
}
 * 流程控制  * 循序结构
package _02_Flow;

public class Flow_01 {
	public static void main (String[] args){
			int a = 10 ;
			int b = 11 ;
			//单分支,if(布尔表达式){为真时执行的代码}
			if (a>b){
				a = b;
			}
			//双分支,if(布尔表达式){为真时执行}else{为假时执行}
			if (a>b){
				a = b;
			}else{
				b = a;
			}
			//多分支,if(){}else if(){}……
			//如果以else{}结尾,则必有一条语句被执行
			//如果以else if (){}结尾,则不一定执行
			if (a>b){
				a = b;
			}else if(ab)
				a = b;
			
	}
}
IF
package _02_Flow;

import java.util.Scanner;


public class if_01 {

	public static void main(String[] args) {
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner (System.in);
		System.out.println("请输入年龄,并按回车确认:");
		int age = scanner.nextInt();
		if (age<=0|age>100){
			System.out.println("输入错误");	
		}else if (age<=5){
			System.out.println("此人处于幼儿时期");	
		}else if (age<=18){
			System.out.println("此人处于少年时期");	
		}else if (age<=35){
			System.out.println("此人处于青年时期");	
		}else if (age<=55){
			System.out.println("此人处于中年时期");	
		}else {
			System.out.println("此人处于老年时期");	
		}
	}

}
SWITCH
​
package _03_Switch;

public class Switch_01 {

	public static void main(String[] args) {
		//if可以判断相等和范围,Switch只能判断相等
	
			char c = 'A';
			switch(c){
			case 'A':
				System.out.println("A");
				break;
			case 'b':
				System.out.println("b");
				break;
			default:
				System.out.println("c");
				break;
			}
			//不加break,case穿透,无法终止
			char q = 'A';
			switch(q){
			case 'A':
				System.out.println("A");
				
			case 'b':
				System.out.println("b");
				
			default:
				System.out.println("c");
			}
	}
}


​
case穿透
package _03_Switch;

public class Switch_02 {

	public static void main(String[] args) {
		char c = 'A';
		//利用case穿透来达到多重判断的效果
		switch(c){
		case 'A':
		case 'b':
			System.out.println("b");
			break;
		default:
			System.out.println("c");
			break;
		}
	}

}
例题
package _03_Switch;

import java.util.Scanner;


public class Switch_03 {
	public static void main (String[] args){
		@SuppressWarnings("resource")
		Scanner scanner = new Scanner (System.in);
		System.out.println("请输入成绩,并按回车确认:");
		double score = scanner.nextDouble();
		int score1 =(int) score / 10;
		switch (score1){
			case 10:case 9:
				System.out.println("成绩优秀");	break;
			case 8:case 7:
				System.out.println("成绩良好");	break;
			case 6:
				System.out.println("成绩及格");	break;
			case 0 :case 1 :case 2 :case 3 :case 4 :case 5 :
				System.out.println("成绩不及格");	break;
			default:
				System.out.println("输入无效");	break;
		}
		
	}
}
for
package _04_For;


public class For_01 {

	public static void main(String[] args) {
		//循环内的i只能在循环内使用
		for (int i = 0;i <6; i++){
			System.out.println(i);
		}
		//终止条件为true,为死循环
//		for (int i = 0;ture; i++){
//			System.out.println(i);
//		}
		//如要在循坏外使用则需要在循坏外定义
		int i =1;
		for (i = 0;i <6; i++){
			System.out.println(i);
		}
		System.out.println(i);
	}

}
package _04_For;


public class For_02 {

	public static void main(String[] args) {
		int d = 0;

				for(int a =0; a < 5; a++){			
					for(int x =0; x< 5; x++){
						d++;
						//println没有ln就不换行
						System.out.print(d+" ");
					}System.out.println();
				}

	}

}
package _04_For;


public class For_03 {
	public static void main(String[] args) {
		for(int i =1; i < 10; i++){	
			//列小于等于行,造成左下三角
			for(int j =1; j<= i; j++){
				System.out.print(j+"x"+i+"="+(i*j) + " ");
			}System.out.println();
	}
	}
}
package _04_For;

public class For_04 {
	public static void main(String[] args) {
		//偶数奇数和i+=2;或取余筛选
		int sum = 0;
		for(int x =0; x<=100; x++){
			sum+=x;
		}
		System.out.println(sum);
	}
}

package _04_For;


public class For_05 {
	public static void main(String[] args) {
第一次循环,第一行
//		//第二次循环,第二行
//		for(int i =10; i >0; i--){	
//			//需要循环输出10个数
//				//需要循环输出9个数
//			for(int j =1; j <= i; j++){
//				System.out.print(0+ "    ");
//			}System.out.println();
//		}//左上三角构建完成
		
	//第一次循环,第一行
			//第二次循环,第二行
			for(int i =10; i >0; i--){	
				//需要循环输出0个空格,10个数,
					//需要循环输出1个空格,9个数
				for(int k=0 ;k<10-i;k++){
					System.out.print(" "+ "   ");
				}//这种每行都输出了10个空格,不同步
				//如果反向倒叙循环一个左下三角是否可行
				//第一行输出0个空格
				// 能否使空格数随行数增加
//					System.out.print(" "+ "    ");//此处加空格使所有行均加空格,不可行
				
				for(int j =1; j <= i; j++){
					System.out.print( 0+"  ");
				}System.out.println();
			}
//			//并行循环是否一起输出   否
//			for(int i =1; i < 10; i++){	
//				//列小于等于行,造成左下三角
//				for(int j =1; j<= i; j++){
//					System.out.print(j+"x"+i+"="+(i*j) + " ");
//				}System.out.println();
//	}
}}
package _04_For;

public class For_06 {

	public static void main(String[] args) {

//        for(int i=1;i<=10;i++){
//        	//空格计数从最大值入手,计数从比行数小1开始,
//        	//第一行m为9 ,判断m是否大于10-行数,false,没有空格
//        	//第二行m初始依旧为9,而10-行数变为8,输出一个空格
//        	//那么是否可以反过来?   _可行,已在For_05 中实现
//            for(int m=9;m>10-i;m--){
//                System.out.print(" "+"  ");
//            }
//            for(int j=10;j>=i;j--){
//                System.out.print("0"+" ");
//            }
//            System.out.print("n");
//        }
		
		
//        for(int i=1;i<=10;i++){
//        	//右下三角应同理
//           //仅仅需要将10双方互换
//            for(int j=9;j>=i;j--){
//                System.out.print(1+" ");
//            }
//            for(int m=10;m>10-i;m--){
//                System.out.print(0+" ");
//            }
//            System.out.print("n");
//        }
		//网络上右下有更优解
		//原理为坐标值大小比较
		//如此左上三角也可用此法更优解出
		System.out.printf("右边直角三角形n");
		for(int i = 1;i<=9;i++){
		    for(int j = 9;j>0;j--){
		        if(j<=i){
		             System.out.print("0");
		        }
		        else{
		             System.out.print("1");
		        }
		  }
		  System.out.print("n");
		}
		
		//等腰同理由1/2坐标值实现
        System.out.print("等腰三角形n");
        for(int i = 1;i<=5;i++){//确定高
        	//第一行由高底等边得出需要的1数目
            for(int m=0;m<5-i;m++){
                System.out.print("1");
            }
            for(int j = 1;j<=i*2-1;j++){//由等边对称得出每行0数目
                System.out.print("0");
            }
            System.out.println();
        }
        //倒等腰与之相反
        System.out.print("倒等腰三角形n");
        for( int i = 1;i<=5;i++){
            for(int m=4;m>5-i;m--){
                 System.out.print("1");
             }
             for(int j = 1;j<=(5-i)*2+1;j++){
                 System.out.print("0");
              }
              System.out.println();
         }
        //菱形就只是上等腰加下等腰堆砌,其中已个三角形需要减掉一行
        for(int i = 1;i<=5;i++){//确定高
        	//第一行由高底等边得出需要的1数目
            for(int m=0;m<5-i;m++){
                System.out.print("1");
            }
            for(int j = 1;j<=i*2-1;j++){//由等边对称得出每行0数目
                System.out.print("0");
            }
            System.out.println();
        }
        for( int i = 1;i<=4;i++){//此处减掉倒三角一行,变成4行的等腰
            for(int m=4;m>4-i;m--){//且要使第一行就有一个1
                 System.out.print("1");
             }
             for(int j = 1;j<=(4-i)*2+1;j++){
                 System.out.print("0");
              }
              System.out.println();
         }
	}

}
package _05_While;

public class While_01 {

	public static void main(String[] args) {
		int i = 0 ;
		//计数循环用if,不知循环次数用while
		while (i < 100){
			System.out.println(i);
			i++;
		}

		
	}

}
package _05_While;

public class While_02 {

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

}
package _06_Break_Continue;

public class Break_01 {

	public static void main(String[] args) {
		for (int i =0; i<10; i++){
			if(i == 3){
				//终止循环,只能用于内层循环,不能泳衣嵌套循环
				break;
			}
		}
	}

}
package _06_Break_Continue;

public class Break_02 {
	public static void main(String[] args) {
		int d = 0;
		//对外层循环设置名字
		outerfor:for(int a =0; a < 5; a++){			
			for(int x =0; x< 5; x++){
				d++;
				System.out.print(d+" ");
				if(x == 3){
					//终止指定循环
					break outerfor;
				}
			}System.out.println();
		}
	}
}
package _06_Break_Continue;

public class Continue_01 {

	public static void main(String[] args) {
		for (int i =0; i<10; i++){
			if(i == 3){
				continue;
			}
			System.out.println(i);
	}
	}}

package _07_Method;

//function 函数 Method 方法
//提高代码重用
public class Method_01 {

	public static void main(String[] args) {
		m1();
		m1();
	}
	public static void m1(){
		int sum = 0;
		for(int i =1;i<=100;i++){
			sum+=i;
		}
		System.out.println(sum);
	}
}
package _07_Method;

public class Method_02 {

	 public static int m2(int a,int b){
			return a+b;//这里的1 只要是int值就可,因为返回值为int类型 
		}
	public static void main(String[] args) {
		Method_01.m1();//调用不同类的方法
		int i = 1 ;
		int j = 2 ; 
		System.out.println(m2(i,j));//调用同类方法
		
	}

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5687693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存