顺序结构
    java按代码顺序一句一句往下执行

    if 单选择结构

    1. package code_learn_day5;
    2. import java.util.Scanner;
    3. // if 单选择结构
    4. public class If_01 {
    5. public static void main(String[] args) {
    6. Scanner scanner = new Scanner((System.in));
    7. System.out.println(“请输入内容:”);
    8. String s = scanner.nextLine();
    9. // euals判断字符是否相等
    10. if (s.equals(“Hello”)){
    11. System.out.println(s);
    12. }
    13. System.out.println(“End”);
    14. scanner.close();
    15. }
    16. }

    if 双选择结构

    1. package code_learn_day5;
    2. import java.util.Scanner;
    3. public class if_02 {
    4. public static void main(String[] args) {
    5. Scanner scanner = new Scanner(System.in);
    6. System.out.println(“请输入成绩:”);
    7. int score = scanner.nextInt();
    8. if (score>60) {
    9. System.out.println(“及格”);
    10. }else{
    11. System.out.println(“不及格”);
    12. }
    13. }
    14. }

    还有多选择结构 elseif
    每个if语句都必须在最后输入else。

    switch选择结构
    判断一个变量与某个特征值是否相等
    变量可以为byte\shot\int\string或者char
    可以用break语句来中止switch语句

    1. package code_learn_day5;
    2. public class switch_01 {
    3. public static void main(String[] args) {
    4. //
    5. char grade = ‘c’;
    6. switch (grade){
    7. case ‘a’:
    8. System.out.println(“Great”);
    9. break;
    10. case ‘b’:
    11. System.out.println(“good”);
    12. break;
    13. case ‘c’:
    14. System.out.println(“well done”);
    15. break
    16. default:
    17. System.out.println(“unknown”);
    18. }
    19. }
    20. }

    switch语句可能会发生case穿透现象,请注意break语句
    掌握编译与反编译

    循环结构
    while \ do…while \ for

    注意do…while的特点,程序会先进入循环,再进行判断

    for循环,代码1,简单的顺序显示数字

    1. package code_learn_day5;
    2. public class for_01 {
    3. public static void main(String[] args) {
    4. int a = 1;// 初始化条件
    5. while (a <= 100) {// 条件判断
    6. System.out.println(a);// 循环体
    7. a += 2;// 迭代
    8. }
    9. System.out.println(“end”);
    10. int i;
    11. for (i=1;i<=100;i++);{
    12. System.out.println(i);// 为什么在for循环里定义i的话,这行的i是红色的???
    13. }
    14. System.out.println(“end”);
    15. }
    16. }

    for循环,code2,计算0-100奇数、偶数的和

    1. package code_learn_day5;
    2. public class for_03 {
    3. public static void main(String[] args) {
    4. // 0-100奇数、偶数的和
    5. int oddSum = 0;
    6. int evenSum = 0;
    7. for (int i = 0; i <= 100; i ++){
    8. if (i%2 != 0) { // %是mod运算,奇数
    9. oddSum += i;
    10. }else{
    11. evenSum += i;
    12. }
    13. }
    14. System.out.println(“odd” + oddSum);
    15. System.out.println(“even” + evenSum);
    16. }
    17. }

    for循环,code3、4,输出1000内能被5整除的数,并且每行输出3个
    我的代码

    1. package code_learn_day5;
    2. public class for_02 {
    3. public static void main(String[] args){
    4. for (int i = 1; i <= 1000; i ++){
    5. if (i%5 == 0){
    6. if (i%3 != 0) {
    7. System.out.print(i + “ “);
    8. }else{
    9. System.out.println(i);
    10. }
    11. }
    12. }
    13. }
    14. }

    up代码

    1. package code_learn_day5;
    2. public class for_04 {
    3. public static void main(String[] args) {
    4. for (int i = 1; i <= 1000; i ++){
    5. if (i%5 == 0){
    6. System.out.println(i + “\t”);
    7. }
    8. if(i%(5*3) == 0){
    9. System.out.println();
    10. //same as System.out.println(“/n”)
    11. }
    12. }
    13. }
    14. }

    问题:为什么数据结果是竖着3个在一起,\t有问题??

    打印九九乘法表
    我的代码:

    1. package code_learn_day5;
    2. public class for_05 {
    3. public static void main(String[] args) {
    4. for (int i = 1; i < 10; i++) {
    5. for (int i1 = 1; i1 <= i; i1++) {
    6. if (i1 != i) {
    7. System.out.print(i + “X” + i1 + “=” + i*i1 + “\t”);
    8. } else {
    9. System.out.println(i + “X” + i1 + “=” + i*i1 );
    10. }
    11. }
    12. }
    13. }
    14. }

    up的代码跟我的代码差不多

    增强型的for循环,意思就是定义一个数组,i的值在里面取值

    1. package code_learn_day5;
    2. public class for_06_power {
    3. public static void main(String[] args) {
    4. int[] numbers = {10,20,30,40,50};// 定义一个数组
    5. for (int i = 0; i < 5; i++){
    6. System.out.println(numbers[i]);
    7. }
    8. //遍历数组的元素
    9. for (int x:numbers){
    10. System.out.println(x);
    11. }
    12. }
    13. }

    break和continue
    break会中止代码块的执行

    1. package code_learn_day5;
    2. public class break_continue_01 {
    3. public static void main(String[] args) {
    4. int i = 0;
    5. while (i<100){
    6. i++;
    7. if (i == 30) {
    8. break;
    9. }
    10. }
    11. }
    12. }

    这个循环输出到30就不继续运行了,但是整个程序不会结束

    continue会中止当前循环,但是不会中止整个循环,会继续下一个循环

    1. package code_learn_day5;
    2. public class break_continue_01 {
    3. public static void main(String[] args) {
    4. int i = 0;
    5. while (i < 100) {
    6. System.out.println(i);
    7. i++;
    8. if (i == 30) {
    9. System.out.println(i);
    10. continue;
    11. }
    12. }
    13. }
    14. }

    这个代码会输出两次30

    画三角形

    1. package code_learn_day5;
    2. public class triangle_01 {
    3. public static void main(String[] args) {
    4. // 打印三角形
    5. for (int i = 1; i <= 5; i++) {
    6. for (int j = 5; j >= i; j—) {
    7. System.out.print(“ “);
    8. }
    9. for (int j = 1; j <= i; j++) {
    10. System.out.print(“*”);
    11. }
    12. for (int j = 1; j <= i - 1; j++) {
    13. System.out.print(“*”);
    14. }
    15. System.out.println();
    16. }
    17. }
    18. }

    一行一行更新,要理清楚这个逻辑

    ended at No.44
    to be continued…