学习资料
b站狂神说:https://www.bilibili.com/video/BV12J41137hu
顺序结构
顺序结构,按照从上到下的顺序一步步执行,最简单的算法结构
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午2:49
* @Description: 顺序结构: 最简单的算法结构,从上至下运行
*/
public class Sequential {
public static void main(String[] args) {
System.out.println(1); //1 先执行
System.out.println(2); //2 后执行
}
}
选择结构
if选择结构
当布尔表达式为空时,执行对应条件下的内容,其他将条件判断将与其无关
package com.zy7y.struct;
import java.util.Scanner;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午2:51
* @Description: 选择结构: 语法 if(布尔值表达式){成立时运行}
*/
public class Option {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入内容:");
String input = scanner.nextLine();
// 单结构,equals 判断字符串是否相等
if (input.equals("hello")){
System.out.println(input);
}
// 双选择结构
System.out.println("输入数字:");
int score = scanner.nextInt();
if (score > 60){
System.out.println("及格了");
}
else {
System.out.println("不及格");
}
System.out.println("end");
// 多选择结构
System.out.println("请选择:");
int userInput = scanner.nextInt();
if (userInput == 1){
System.out.println("你选择了1");
}else if (userInput == 2) {
System.out.println("你选择了2");
}else if (userInput == 3){
System.out.println("你选择了3");
}else{
System.out.println("没有此选择项");
}
}
}
switch选择结构
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午3:05
* @Description: switch 选择结构
*/
public class Switch {
public static void main(String[] args) {
// (值)
switch ("zy7y"){
// case 后面的值 与 switch(这个值)一致将进入对应语句快,打印后,执行break;结束语句
case "zy7y1":
System.out.println("zy7y");
break;
case "zy71":
System.out.println("zy71");
break;
case "zyy1":
System.out.println("zyy1");
break;
default: // 当上面条件不满足时执行 这块代码
System.out.println("没有找到符合的值,使用了默认值");
}
}
}
循环结构
while循环
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午3:19
* @Description: 循环结构 while, 先判断 在循环
*/
public class CycleWhile {
public static void main(String[] args) {
// 打印1-100
int intValue = 1;
// while (布尔值表达式){布尔表达式为true时执行}
while (intValue <= 100){
System.out.println(intValue++);
}
}
}
do...while循环
至少会执行一次; 先执行do{}的内容,在判断while()的内容
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午3:35
* @Description: do while循环, 先执行 后判断
*/
public class CycleDoWhile {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum += i;
i++;
}while (i <= 100);
System.out.println(sum);
}
}
for循环
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午3:42
* @Description: for循环
*/
public class CycleFor {
public static void main(String[] args) {
// 记录总和的值
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
}
System.out.println(sum);
// 死循环
// for (;;){
// System.out.println(1);
// }
// 100.for 回车可以快速生成for (int i = 0; i < 100; i++){}
}
}
for each
jdk5的新特性,主要用于迭代数组,集合
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午4:19
* @Description: 增强for循环
*/
public class CycleForEach {
public static void main(String[] args) {
// 定义一个数组
int[] intArray = {1,5,6,7,8,9};
// 打印每一个值
for (int number:intArray) {
System.out.println(number);
}
}
}
break、continue
break - 跳出当前语句块; continue - 终止当前循环,执行下次循环
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午4:27
* @Description: break 跳出循环
*/
public class CycleBreak {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 1) {
// 当等于1时 将不在执行continue后面的代码,进入下次i ==2 的循环
continue;
}
if (i == 6) {
// 当i 等于 4 时跳转代码块
break;
}
System.out.println(i); // 0 2 3 4 5
}
}
}
练习
package com.zy7y.struct;
/**
* @ProjectName: JavaSE
* @PackageName: com.zy7y.struct
* @Author: zy7y
* @Date: 2020/8/14 下午3:54
* @Description:
*/
public class TopicFor {
public static void main(String[] args) {
// 计算0-100之间的奇数和偶数的和
int oddSum = 0; // 接收奇数总和的变量
int evenSum = 0;
for (int i = 0; i <= 100; i++) {
if (i % 2 == 0) {
evenSum += i;
}else {
oddSum = oddSum + i;
}
}
System.out.println("奇数总和:" + oddSum);
System.out.println("偶数总和:" + evenSum);
// 1-1000之间能被5整除的数,每行输出3个
for (int i = 0; i < 1000; i++) {
if (i % 5 == 0){
System.out.print(i + " ");
}
if (i % (5*3) == 0){
System.out.println();
}
}
System.out.println();
// 打印九九乘法表
for (int i = 1; i <= 9; i++) {
// 内层循环 j根据外层i来决定循环范围
for (int j = 1; j <= i; j++) {
System.out.print(i+"*"+j +"="+(i*j) + " ");
// // 当外面的变量i 与 里面变量相等时 就该换行了
// if (i == j){
// System.out.println();
// }
}
// 结束一行循环后,进行换行
System.out.println();
}
// 打印三角形
for (int i = 1; i <= 3; i++) {
// 先打印一个倒的直角三角形
for (int j = 3; j >= i; j--) {
System.out.print(" ");
}
// 打印,左边直角三角形
for (int k = 1; k <= i ; k++) {
System.out.print("*");
}
// 打印右边直角三角形
for (int k = 1; k < i ; k++) {
System.out.print("*");
}
System.out.println();
}
}
}