战之都 发表于 2019-9-2 15:36

【笔记】小小白的java从0开始,第三节

本帖最后由 战之都 于 2019-9-2 15:38 编辑

Java程序结构分类
1 顺序结构
特点:程序从上往下一行一行执行
2 条件结构
特点:程序从上往下根据条件成立与否执行不同的代码块
3 循环结构
特点:循环条件成立,程序一直执行循环体中的代码
顺序结构
语句:使用;分隔的一段代码成为一个语句
//赋值语句
int a = 3;
//输出语句
System.out.println(a);
注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句。
//赋值语句
int a = 3;
//输出语句
System.out.println(a);
//空语句
;
//输出语句
System.out.println("finishi............");
顺序语句就是按照从上往下的顺序执行的语句。

条件结构
if语句
1)语法1:
if(判断条件){
如果符合条件执行的代码;
}

案例1:从键盘输入一个成绩,如果成绩是60以下就是D
public class scoreTest{
      public static void main(String[] args) {
                //使用Scanner接收键盘输入的内容
                Scanner sc = new Scann (System.in);
                //提醒用户输入成绩
                System.out.println("请输入成绩");
                //接收成绩,成绩为整形,sc.nextInt();就是用来接收整数
                //并把它保存在sroce变量中
                int sroce = sc.nextInt();
                //接收性别
                //sc.next()接收一个字符串
                //charAt(0)截取字符串中的第一个字符
                System.out.println("请输入性别: 男/女");
                char sex = sc.next.charAt(0);
                //关闭键盘输入
                sc.close();
                //判断成绩是否为60以下
                if(sroce < 60){
                        System.out.println("成绩为D");
                }
      }}

2)语法2:
if(判断条件){
      执行的代码块;
}else{
                执行的代码块;
      }

案例2:从键盘输入一个成绩,如果成绩是60以下就是D,否则就是A
public class ScoreTest{
      public static void main(String[] args){
                //使用Scanner接收键盘输入的内容
                Scanner sc = new Scann (System.in);
                //提醒用户输入成绩
                System.out.println("请输入成绩");
                //接收成绩,成绩为整形,sc.nextInt();就是用来接收整数
                //并把它保存在sroce变量中
                int sroce = sc.nextInt();
                //接收性别
                //sc.next()接收一个字符串
                //charAt(0)截取字符串中的第一个字符
                System.out.println("请输入性别: 男/女");
                char sex = sc.next.charAt(0);
                //关闭键盘输入
                sc.close();
                //判断成绩是否为60以下
                if(sroce < 60){
                        System.out.println("你的成绩为D");
                }else{
                        System.out.println("你的成绩为A");
                }
      }
}
3)语法3:
if(判断条件1){
      执行语句;
}else if(判断条件2){
      执行语句;
}else if(判断条件3){
      执行语句;
}else{
         执行语句;
}
                        
案例3:从键盘输入一个成绩,如果成绩是60以下就是D,成绩是60-70之间就是C,成绩是71-90之间就是B,90以上就是A
if (sroce < 60) {
                System.out.println("你的成绩是D");
      } else if (sroce >= 60 && sroce < 70) {
                System.out.println("你的成绩是C");
      } else if (sroce >= 70 && sroce < 90) {
                System.out.println("你 的成绩是B");
      } else if (sroce >= 90) {
                System.out.println("你的成绩是A");
      } else {
                // 如果输入负数等不符合以上条件的内容,提示输入不正确
                System.out.println("输入不正确");
      }

if语句嵌套
所谓的嵌套其实就是if语句中继续做其他的判断案例:从键盘输入一个成绩,如果成绩是60以下就是D,成绩是60-70之间就是C,成绩是71-90之间就是B90以上就是A,如果同时是女生就是D+,C+,B+,A+
// 判断成绩是否为60以下
                if (sroce < 60) {
                        // 判断性别,根据性别输出D和D+
                        if (sex == '女') {
                              System.out.println("你的成绩是D+");
                        } else if (sex == '男') {
                              System.out.println("你的成绩是D");
                        } else {
                              System.out.println("您输入有误,请输入男/女");
                        }
                } else if (sroce >= 60 && sroce < 70) {
                        if (sex == '女')
                              System.out.println("你的成绩是C+");
                        else if (sex == '男')
                              System.out.println("你的成绩是c");
                        else
                              System.out.println("您输入有误,请输入男/女");
                } else if (sroce >= 70 && sroce < 90) {
                        if (sex == '女') {
                              System.out.println("你的成绩是B+");
                        } else if (sex == '男') {
                              System.out.println("你的成绩是B");
                        } else {
                              System.out.println("您输入有误,请输入男/女");
                        }
                } else if (sroce >= 90) {
                        // 判断性别
                        if (sex == '女') {
                              System.out.println("你的成绩是A+");
                        } else if (sex == '男') {
                              System.out.println("你的成绩是A");
                        } else {
                              System.out.println("您输入有误,请输入男/女");
                        }
                } else {
                        // 如果输入负数等,提示输入不正确
                        System.out.println("输入不正确");
                }
特点
1)条件成立执行{}中的代码
2)一旦有一个条件成立,执行完{}中的代码直接跳出条件语句
3)如果if语句下只有一行代码,{}可以不写,但是 不建议,因为代码的阅读性就很差
4)else的作用是除了上边列出的情况之外的所有情况
出现问题
说明:在键盘录入时,用户可能乱输入,导致程序出问题,报异常
public static void main(String[] args) {
                // *升级版
                // *问题:用户可能乱输入,导致程序出问题,报异啊,可以使用后边学的异常机制解决该问题
                // *现在解决会出现局限性                // 使用scanner接收键盘输入的内容
                Scanner sc = new Scanner(System.in);
                // 提醒用户输入成绩
                System.out.println("请输入成绩");
                // 用户可能输入乱七八糟的东西,可以使用字符串来接收
                String sroce = sc.next();
                // 接收性别没有问题,因为他会截取字符串的第一个字符
                System.out.println("请输入性别:男/女");
                char sex = sc.next().charAt(0);
                // 判断字符串数据是否相同使用equals()方法
                if ("60".equals(sroce)) {
                        // 判断性别,根据性别输出D和D+
                        if (sex == '女') {
                              System.out.println("你的成绩是D+");
                        } else if (sex == '男') {
                              System.out.println("你的成绩是D");
                        } else {
                              System.out.println("您输入有误,请输入男/女");
                        }
                } else {
                        // 如果输入负数等,提示输入不正确
                        System.out.println("输入不正确");
                }
}switch语句语法格式switch(表达式){      case 取值1:
      执行语句;
      break;
      case 取值2:
      执行语句;
      break;
      …...
      default:
      执行语句;
      break;
      }                案例:输入一个月份,判断是哪个季节public class Switchrest {
      // 程序的入口
      public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                // 声明变量保存月份
                System.out.println("请输入月份");
                // 接收字符串类型
                String month = sc.next();
                // 使用switch语句判断月份,做不同的操作
                // 注意:要比较的变量的类型,应该与case中的具体的数值的类型一样
                switch (month) {
                // 春天,如果多个条件执行的代码是一样的,可以将case语句整合
                case "3":
                case "4":
                case "5":
                        System.out.println("春天");
                        break;
                // 夏天
                case "6":
                case "7":
                case "8":
                        System.out.println("夏天");
                        break;
                // 秋天
                case "9":
                case "10":
                case "11":
                        System.out.println("秋天");
                        break;
                // 冬天
                case "12":
                case "1":
                case "2":
                        System.out.println("冬天");
                        break;
                // 相当于if语句中的else
                default:
                        System.out.println("输入的月份有误,已启动自爆!!!");
                        // 如果default在最后那么break可以省略不写
                        break;                }
      }
}



特点
1)switch语句支持的数据类型有byte,short,int,char,JDK1.7之后支持String,JDK1.5之后支持枚举
2)switch语句中case的值的类型要跟传进来的变量的类型一致
3)case和default的顺序是可以随便写的
4)如果default在最后一行,break可以不写
5)break是用来跳出switch语句的,如果不写break,会继续往下执行,而if会自己跳出
6)switch同样也可以嵌套
7)default相当于if语句中的else

if与switch区别
1)做区间判断使用if语句
2)如果判断的数据比较少,而且数据类型是switch语句支持的,就是用switch,因为结构比较清晰

循环结构while循环

while(条件表达式){
      执行语句;
      }
//需求:打印10行He11oworld
public class WhileDemo {
      public static void main(String[] args) {
                // 使用while循环输出10行Helloworld
                // 定义一个变量用来记录循环次数
                int i = 0;
                while (i < 10) {
                        System.out.print("Helloworld" + i + "\n");
                        i++;// 条件递增表达式不要忘记写,可以避免死循环
                }
      }
}
特点
1)
条件成立就进入循环,不成立就不循环
2)一定要写条件递增表达式,避免死循环do while循环
do{
      执行语句;
}while(条件表达式);
public class WhileDemo {
      public static void main(String[] args) {
                // 要求:打印10行HelloWorld
                int i = 0;
                do {
                        System.out.println("HelloWord" + i);
                        i++;// 条件递增
                } while (i < 10);
      }
}
do while循环的特点就是,至少执行一次,先执行再判断

for循环
for(初始化表达式;循环条件表达式;循环后的操作表达式){
      执行语句;
      }

//打印10行HelloWorld
public static void main(String[] args) {
                for (int i = 0; i < 10; i++) {
                        System.out.println("HelloWord");
                }
      }

特殊写法
public static void main(String[] args) {
                //这种写法大家知道,只要表达式合法就行,一般没人写,面试中可能碰到
                int i = 0;
                for (System.out.println("aa"); i < 3; System.out.println("cc")) {
                        System.out.println("dd");
                        i++;
                }
      }

//打印结果
aa
dd
cc
dd
cc
dd
cc


特点
1)初始化表达式可以写到外边
2)三个表达式只要合法就行

三种循环区别
while和do while区别
while:先判断条件,只有条件满足才执行循环体。
do while: 先执行循环体,再判断条件,条件满足,再继续执行循环体。
简单一句话:do while:无论条件是否满足,循环体至少执行一次。
注意一个细节dowhile 后面的分号;
while和for的区别
1、for里面的两个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2、while与for可以互换,区别在于for为了循环而定义的变量在for循环结束时就在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
3、最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。推荐使用while(true)


break和continue区别
1.break是跳出循环,continue结束本次循环,继续下一次循环
2.break和continue在单独使用时下边不能有其他代码,因为执行不到
3.break可以用在循环语句和switch中,continue可以使用在循环中
4.break和continue作用于离它最近的循环结构,可以通过给循环语句起名字来跳出指定的循环

j2318895766 发表于 2019-9-2 15:43

学习java从从哪入手?得有哪些基础

战之都 发表于 2019-9-2 15:51

j2318895766 发表于 2019-9-2 15:43
学习java从从哪入手?得有哪些基础

我这从第一节开始全是最基础的东西了可能有些不清楚的地方直接百度就可以了

a1545515 发表于 2019-9-2 16:15

学习下吧 嘿嘿嘿

orcate 发表于 2019-9-2 16:22

谢谢大佬分享

quitidle 发表于 2019-9-2 16:47

欢迎加入python大军

战之都 发表于 2019-9-3 09:42

quitidle 发表于 2019-9-2 16:47
欢迎加入python大军

灌水嫌疑{:301_998:}

quitidle 发表于 2019-9-3 09:54

战之都 发表于 2019-9-3 09:42
灌水嫌疑

不对说错了{:301_1009:},是Java大军
页: [1]
查看完整版本: 【笔记】小小白的java从0开始,第三节