Java学习第四天

复习

AJCG阿里巴巴 java 开发规范
	码出规范,码出高效
	针对于标识符命名规范
		标识符是 程序员在自行开发过程中,可以使用的自定义名称,主要于 变量名, 方法名, 类名, 接口名...
	1. 标识符有且只能使用英文字母(A ~ Z,a ~ z)
					数字(0 ~ 9)
					下划线( _ )
	2. 标识符要求英文字母开头
	3. Java 标识符严格区分大小写
	4. 标识符没有严格的长度限制,但是会根据实际的业务开发需求限制标识符长度
	小驼峰
		第一个单词首字母小写,之后的每一个单词首字母大写
		适用场景 变量名 , 方法名
	大驼峰
		要求每一个单词首字母大写
		适用场景 类名 接口名
	下划线
	要求所用英文字母全部大写,不同的单词之间使用 下划线分割 _
	5. 标识符在一定范围内唯一
	6. 标识符不能使用 Java 已经占用的关键字和保留字, 变颜色无法使用
	
	运算符
		算术运算符  + - * /  % = ()
		增强版  +=  -=   *=  /=  %=
		自增自减运算符 ++   ——(单独成行,互不干扰)
		    变量前,先自增/自减 后提供数据
		    变量后,先提供数据  后自增/自减
		   【使用 += 1 or -= 1 替换自增自减运算符】 
	关系运算符
		 <  >  >=  <= != ==
         
         对外结果为 boolean 类型
     逻辑运算符
         &&  逻辑与  一假即假,同真为真 
         
         ||   逻辑或  一真即真,同假为假
	
		 !=    取反
		 逻辑与短路原则
		 	如果出现 false 条件 ,不在执行下面操作
		 逻辑或短路原则
		 	如果出现 true 条件 ,不在执行下面操作
	

Java学习第四天

分支结构和循环语句

1.分支结构
1.1 switch case

switch case 结构是一个精准的 if else if

//格式
switch (/*选项数据存储变量*/) {
	case 常量1:
		//处理方式1
		break;
	case 常量2:
		//处理方式2
		break;
	case 常量3::
		//处理方式3
		break;
	default:
		//所有的匹配像没有对应情况,最终处理方式
		break;
}
/*
要求:
	1. case 之后的常量数据类型目前限制在 int
	2. case 之后的常量不可以重复,具有唯一性
	3. switch case 结构中可以执行的内容,有且只有在 case 之后 或在 default 之后
	4. default 可以省略,但是代码中没有匹配的 case 选项,代码没有任何反馈
	【重点强调】 在 阿里巴巴 开发规范中 switch case中 default 不能省略 
执行流程:
	代码执行 Switch case 结构,首先取值 switch 之后变量数据, 于 case 之后变量数据内容,于 case 之后
常量进行匹配,如果有对应匹配项,按照对应处理方式执行,如果没有任何一个 case 匹配,执行 default 之后的代码。

*/
public class Demo1 {
	public static void main(String []args) {
		
		System.out.println("选择你需要的:");
		int choose = 3;
		
		System.out.println("1. 酱牛肉 80RMB");
		System.out.println("2. 方中山胡辣汤  18RMB");
		System.out.println("3. 羊肉烩面  20RMB");
		System.out.println("4. 盖浇饭  20RMB");
		
		System.out.println("<--------------------------------->");
		System.out.println("我选择的是:");
		// switch 小括号内就是存储当前选项的变量,目前使用 choose
		switch (choose) {
			case 1:
				System.out.println("1.酱牛肉 80RMB");
				break;
			case 2:
				System.out.println("2. 方中山胡辣汤  18RMB");
				break;
			case 3:
				System.out.println("3. 羊肉烩面  20RMB");
				break;
			case 4:
				System.out.println("4. 盖浇饭  20RMB");
				break;
			default:
				System.out.println("你的选择有误~~");
				break;
		}
	
		System.out.print("------------------------");
		
	}
【补充知识点】

关注点:

​ 目前案例代码 switch case 案例代码,如果想要执行其他的数据结果,要求用户完成以下操作

  1. 修改源代码对应数据

  2. 保存代码

  3. 编译程序

  4. 执行程序

    对于普通用户而言是不可能的!!用户期望的效果时代吗运行,用户提供数据,代码执行判断情况,给予结果反馈, 不需要考虑代码的执行,编译,运行过程。【只要求用户提供数据】

    针对于当前代码而言,我们缺少可以获取用户提供数据的形式。【思想很重要】

【注意】以下技术点不重要,只要面前完成目前代码所需,如果你确实需要,请复制粘贴我的代码,不要学会,不要自己写!!目前考虑只能使用终端来获取用户数据形式,并且终端获取数据对于后期开发没有任何实际价值。
Java 中的扫描器
使用流程,请复制粘贴使用,选择合适的套餐
		1. 在 public class 类名之上导包 == > 点技能点
			import java.util.Scanner;
		2. 准备 Scanner 变量, 以备使用
			Scanner sc = new Scanner(System.in);
		3. 根据所需,选取对应的套餐
			int 类型数据
				int 类型变量 = sc.nextInt();
			float 类型数据
				float 类型变量 = sc.nextFloat();
			double 类型数据
				double 类型变量 = sc.nextDouble();
			char 类型数据
				char 类型变量 = sc.nextChar();
【补充知识点 用户操作友好提示/操作引导提示】

用户使用软件,需要在操作过程中,给予用户合理,合情,合适,友好的提示内容,方便用户使用我们的软件

增强用户粘性!!!

【补充知识点, 用户输入数据合法判断】

在实际开发中,用户使用软件是极有可能给予软件的操作或者数据是不合法!!

需要考虑出现了用户提供数据异常的情况下是否应该给予用户反馈,或者采用其他处理方式。

用户提交数据需要根据实际情况进行合法性判断,如果过不合法,不可以进入正常的数据判断处理

过程,中断程序运行,给予用户提示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTlQFHtK-1666425692289)(F:\qianfeng\笔记\img\image-20221021143932042.png)]

2. 循环结构
2.1为什么要循环结构
代码中容易出现重复,复用代码,如果仅通过最为基础的 cv操作,会导致以下问题
	1. 代码冗余
	2. 代码阅读性极差
	3. 代码维护性极差
2.2 while循环结构
//格式
while (/*循环条件判断*/)  {
	//循环体
	//循环条件变更
}
执行流程:
	代码执行 while 循环结构 首先判断 while 之后小括号中的循环条件是否为 true 如果为 true 执行循环体,
回到 while 之后小括号判断,直到循环条件为 false 终止循环!!
    public class Demo3 {
	public static void main(String[] args) {
	
		int num = 10;
		
		while (num > 0) {
			System.out.println("今天吃泡面!!");
			num -= 1;		
		}
			
	}

}
2.3 do while 循环结构
//格式
//注意 结尾的分号 必须要有
do {
	//循环体
    //循环条件变更
} while (/*循环条件判断*/);
执行流程:
    代码执行 do while 循环结构 ,首先执行一次循环体内容,再来判断 while 之后小括号中,条件如果是 true 继续执行循环体,如果为 false 终止循环。
        
        
 	int num1 = 5;
		do {
			System.out.println("志衡请我们吃火锅!!!");
			num1 -= 1;
		} while (num1 > 0);
2.4 for 循环结构【重点】
// 格式
for (/*循环条件初始化*/; /*循环条件判断*/;/*循环条件变更*/) {
	//循环体
}
	for (int num = 1;num <= 10;num++) {
			System.out.println("第" + num + "行");
		}
	

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6CaF9DP-1666425692292)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20221021160429177.png)]

1. 展示0 ~ 100以内的所有偶数  
2. 展示0 ~ 100以内的所有奇数
    
		//方法一
		for (int num = 0;num <= 100; num++) {
			if (num % 2 == 0) {
				System.out.print(num + "\t ");
			}
		}
		//方法二
		for (int i = 0; i <= 100; i += 2) {
				System.out.print(i + "\t");
		}	
		
		//2. 展示0 ~ 100以内的所有奇数
		//方法一
		for (int num1 = 0;num1 <= 100; num1++){
			if (num1 % 2 != 0) {
				System.out.print(num1 + "\t ");
			}
		}
		//方法二
		for (int i = 1; i <= 100; i += 2) {
				System.out.print(i + "\t");
		}	
		
    
3. 计算1 - 150 的和
    int ret = 1;
		for (int num2 = 2;num2 < 151; num2++) {
			ret += num2;
		}
		System.out.println(ret);
		//高斯求和公式
			等差数列 ( 首项 + 末项) * 项数 / 2;
			法无禁止即自由!!开发可以用数学!!
		System.out.println((1 + 150) * 150 / 2);
4.7过!!! 【100以内的】
    for (int num3 = 0;num3 <101; num3++) {
			if (num3 % 7 != 0 && num3 % 10 != 7 && num3 / 10 != 7) {
				System.out.print(num3 + " \t");
			}
		}
5. 多种方法打印26个小写字母
    char ch = 'z';
		while (ch >= 'a') {
			System.out.print(ch + "\t");
			ch--;
		}
		System.out.println();
//方法2
		for (char ch = 'a'; ch > 'a' && ch <= 'z'; ch++){
			System.out.print(ch);
		}
6. 例如:
输入 5 8;
计算 5 + 6 + 7 + 8;
输出 26.
    	/*
		int i = sc.nextInt();
		int j = sc.nextInt();
		int ret = 0;
		if (i <= j) {
			while (i <= j) {
				ret += i;
				i += 1;
			}
			System.out.println(ret);
		} else {
			while (i >= j) {
			ret += j;
			j +=1;
		}
			System.out.println(ret);
		}
7. 整数逆序输出, 例如输入一个整数12345,输出5 4 3 2 1
    		整数逆序输出, 例如输入一个整数12345,输出5 4 3 2 1
		注意引入 java.util.Scanner;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入一串数字");
		for (int num = sc.nextInt();num > 0;num /= 10) {
			System.out.print(num % 10);
			
		}
		while (num > 0) {
			System.out.pritln(num % 10);
			num /= 10;
		}
8.
*****
*****
*****
*****
*****
/*
图形推演
	解题思路
	1.总行数是多少,怎么控制
	2.每一行的内容是什么,怎么控制
*/
for (int num = 1;num < 6; num++) {
			for (int num1 = 1; num1 <= 5; num1++) {
				System.out.println("*");
			}
			System.out.println();
		}
9.
*
**
***
****
*****
    //直角三角形
    	int line = 5;
		for (int a = 1;a < line; a++) {
			for (int b = 0;b < a; b++) {
				System.out.print("*");
			}
			System.out.println();
		}
10.
	*
   ***
  *****
 *******
*********
    //等腰三角形
		int a = 6;
		for (int i = 1;i < a; i++) {
			for (int j = 0;j < a - i; j++ ) {
				System.out.print(" ");
			}
			for (int k = 1;k <= 2 * i - 1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}
	//倒等腰三角形	
		int a = 5;
		for (int i = 1;i < a; i++) {
			for (int j = 0;j <= i; j++) {
				System.out.print(" ");
			}
			for (int k = 1;k <= 2 * (a - i) - 1; k++) {
				System.out.print("*");
			}
			System.out.println();
		}
		

a - i; j++ ) {
System.out.print(" “);
}
for (int k = 1;k <= 2 * i - 1; k++) {
System.out.print(”“);
}
System.out.println();
}
//倒等腰三角形
int a = 5;
for (int i = 1;i < a; i++) {
for (int j = 0;j <= i; j++) {
System.out.print(” “);
}
for (int k = 1;k <= 2 * (a - i) - 1; k++) {
System.out.print(”
");
}
System.out.println();
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值