[ java 基础 ] 了解编程语言的第一步

目录

[一. IDE](#一. IDE)

[(1). 使用IDE的原因:](#(1). 使用IDE的原因:)

[(2). 创建和使用:](#(2). 创建和使用:)

[(3). 常用快捷方式与设置](#(3). 常用快捷方式与设置)

[(4). 注释](#(4). 注释)

[(5). 关键字](#(5). 关键字)

[(6). 标识符](#(6). 标识符)

[(7). 变量](#(7). 变量)

[(8). 数据类型](#(8). 数据类型)

1) 整数类型 整数类型)

2) 浮点类型 浮点类型)

3) 布尔类型(boolean) 布尔类型(boolean))

4) 字符类型(char) 字符类型(char))

5) 字符串 字符串)

6) 基本数据类之间的转换 基本数据类之间的转换)

[(9). 运算符](#(9). 运算符)

1) 算术运算符 算术运算符)

2) 比较运算符 比较运算符)

3) 赋值运算符 赋值运算符)

4) 逻辑运算符 逻辑运算符)

5) 条件运算符 条件运算符)

6) 位运算符 位运算符)

[(10). 控制台输入](#(10). 控制台输入)

[(11). 循环语句](#(11). 循环语句)

1) if判断和switch...case循环 if判断和switch...case循环)

2) while和do while循环 while和do while循环)

3) for循环 for循环)

4) 循环嵌套 循环嵌套)

[(12). 函数(java中的方法)](#(12). 函数(java中的方法))

[(13). return作用](#(13). return作用)


一. IDE

(1). 使用IDE的原因:

如果使用记事本进行编写代码, 手动编译没有提示, 写错了也不知道,实际开发用记事本 效率很低.

IDE (Integrated Development Environment )集成开发环境 所有开发工具统称IDE, 里面集成编辑器 编译器 (调我们自己安装的jdk) ,调试器

例如: 前端开发的Hbuildex

Intellij IDEA收费 开发工具( jdk 是java开发运行的环境)

Eclipse 开源

(2). 创建和使用:

现在市场上大多都采用Intellij IDEA,故以Intellij IDEA为例

查看软件可使用的时间(有一个月的免费使用期)

项目的创建及相关设置

(3). 常用快捷方式与设置

sout ----->System.out.println( );

main----->public static void main(String[] args) { }

fori ----->for (int i = 0; i < ; i++) { }

(4). 注释

1)定义: 用特定的符号进行标记的内容 说明程序功能 调试程序

2)使用方法:

// 单行注释 Ctrl+/

/* */ 多行注释 Ctrl+shift+/

**/** */**文档注释 可以为类 函数 变量进行说明 ,在别的地方调用时 ,会显示注释说明

(5). 关键字

注意:

  1. 在语言中, 被赋予特定含义的单词 所有字母都是小写的

  2. 保留字: constgoto(java中虽然没有用来作为关键字,但是不能拿来命名)

(6). 标识符

1)定义: 为变量 函数 类 包 等命名的字符序列

2)命名规则: 允许使用26个英文字母 数字 下划线_ 和美元$ ----数字不能开头-----不能是关键字保留字 但是可以包含关键字和保留字----不能有空格 长度无限制----严格区分大小写 ----要见名之意 userAge userName userPassword studentAge studentName---- 名首字母变量函数 名首字母 写----多个单词组成,建议第二个单词开始,首字母都大写 驼峰表示 ----常量名全部大写 多个单词之间用下划线_连接 MAX_VALUE

java 复制代码
public class Demo1 {

public static void main(String[] args) {
   // int a# = 5;
   // int 5a;
    int a_ = 5;
    int a$;
    int user_age;
   // int goto;
    int goto1;
// int user age; int a; int A; abc aa;

   }
}

(7). 变量

1)定义:
变量是程序中最基础的存储单元, 运行时值是可以改变的
变量就是在内存中开辟的一块空间
使用变量名访问这块空间(java中不再使用指针访问内存)
2)使用方法: 要先声明,后赋值,使用前必须是赋过值的
3)结构: [修饰符] 数据类型 变量名 = 值 ; (强类型语言)

java 复制代码
package day2;
public class Demo2 {​
public static void main(String[] args) {
         int age = 20;
             age = 22;
    System.out.println("age="+age);
    
    //int height;
    //System.out.println(height); 报错 变量在使用前必须要初始化
    
    int a,b,c;
    int x=10,y=20,z=30;
    System.out.println("x="+x+",y="+y+",z="+z);
}
}

(8). 数据类型

可以指导数据在内存中如何存储(分配多大空间)

1) 整数类型

基本数据类中的整数类型:

byte 1字节 -128 -- +127

short 2字节 -32768 -- +32767

int 4字节 -2147483648 -- 2147483647

long 8字节 - 9223372036854775808 -- +9223372036854775807

注意: java中数值类型都是有符号的,没有无符号主线程

java 复制代码
package day2;

public class Demo3 {

public static void main(String[] args) {

    byte ba = -128;
    byte bb = 10;
​
    short sa = 20;
​
    int ia = 2147483647;
    /*
      int a = 10; 10称为字面常量 整数字面常量默认是int类型
       需要给long类型赋值时,一旦值超过了int的范围,需要在后面添加 L/l  一般建议使用大写L
     */
    long la = 2147483648L;
    //整数其他表示形式:
    int x = 12; //12是十进制表示形式
​
    int m = 0b111; //二进制整数表示  0b开头
    System.out.println(m);
​
    int n = 071; //八进制整数表示  0开头
    System.out.println(n);
​
    int y = 0x11; //十六进制整数表示  0x开头
    System.out.println(y);
​
}
}

2) 浮点类型

float 4字节 -3.403E38~3.4028235E38

double 8字节

注意: 浮点类型字面常量是 double类型 ,需要表示float字面常量时,在字面常量后面加 F/f

java 复制代码
package day2;

import java.math.BigDecimal;

public class Demo4 {

public static void main(String[] args) {

      float f1 = 10;
      float f2 = 10.5F;
​
      double d = 10;
      double d1 = 10.5;
​
System.out.println(314.2);//十进制表示
System.out.println(3.14E2);//科学计数法表示
System.out.println(222.22222222222222f);//有效位数是8位  单精度
System.out.println(222.22222222222222);//双精度 是float的两倍
​
    /*
        有的小数,在底层存储时,不能做到精确存储,小数部分无限不循环的,只能做到近似值
        涉及金额尽量不用float,double
    */
    System.out.println(0.1+0.2==0.3);//false
    System.out.println(1.0-0.7);//0.30000000000000004
   //BigDecimal bigDecimal1 = new BigDecimal("0.1");//BigDecimal是大浮点数,更精确
   //BigDecimal bigDecimal2 = new BigDecimal("0.2");
   //System.out.println(bigDecimal1.add(bigDecimal2));//0.3   
   }
}

3) 布尔类型(boolean)

注意:

  1. 布尔类型的值只能用true false表示

  2. 逻辑运算,比较运算之后的值 也只能是true/false 不能用0和非0表示真/假

java 复制代码
package day2;

public class Demo5 {

public static void main(String[] args) {
         boolean b = true;
         boolean b1 = false;
​
         int a  =10;
         int c = 20;
     if(1<a && a<c){
      System.out.println("qqqqqqqqqqqqq");
         }
      System.out.println(a<c);
      System.out.println(a>c);
}
}

4) 字符类型(char)

  1. 字符类型表示一个字符 2字节

  2. 计算机如何存储和表示字符 ?

ASCII a--97--011011 美国信息标准码 只能表示英文字母和英文字符

java中使用的是Unicode编码(万国码),容纳全球各个国家的文字子符,其他的编码表都兼容了ASCII那一部分的内容

java 复制代码
package day2;

public class Demo6 {

public static void main(String[] args) {
     char c1 = 'a';
     char c2 = '中';
     char c3 = '国';
     System.out.println(c1+0); //97   
//char类型可以进行算术运算的 运算时用的是字符在编码表中的整数编号计算的
    System.out.println(c1);
    System.out.println(c2+0);//20013
    System.out.println(c2);
    System.out.println(c3);
}
}

5) 字符串

java中提供String类来表示字符串 格式: String 变量名 = "字符串值";

java 复制代码
package day2;

public class Demo7 {

public static void main(String[] args) {
     //c语言中的字符串, 用字符数组存储,且没有单独的字符串类型,而是使用字符数组来表示
     //char a[10]  = {'h','e','l','l','o','\0'};
     //char a[]  = {"hello"};
     //char a[]  = "hello";
     // "abc" == ['a','b','c']
     
      String s = "abcd";
      String name = "jim";
      String address = "陕西汉中";
    System.out.println(s);
    System.out.println("姓名:"+name+" 地址:"+address); //字符串可以使用 + 进行拼接
    System.out.println(s.length());
}
}

6) 基本数据类之间的转换

除了boolean类型之外, 其他7种基本数据类型之间可以进行相互转换 ,转换规则如下:

byte 1字节

short 2字节

char 2字节

int 4字节

long 8字节

float 4字节

double 8字节

注意:

(默认转换) 小容量类型 ---> 大容量类型
(强制转换) 大容量类型 ---> 小容量类型

  1. 默认情况下 小容量类型 可以 转换为大容量类型

大容量类型 不可以 转为小容量类型 (而如果需要转换 只能通过强制类型转换 )

  1. 强制类型转换可能会出现以下问题:

(1). 溢出, 因为小类型装不下

(2). 精度降低了 (浮点--整数)

char byte short ---->int---->long---->float---->double

由于小数底层的计算方式和整数不同, 所以4字节的float 大于 4字节int,也大于8字节的long

java 复制代码
package day2;

public class Demo8 {
  public static void main(String[] args) {
  /*默认转换: 小容量类型  --->  大容量类型
           byte a1 = 10;
           int  a2 = a1;
           float a3 = a2;
      System.out.println(a2);*/
​
          int   a  = 258;
          byte  b = (byte)a;
       System.out.println(b);//2
​
          float  c = 10.5f;
          int    d = (int)c;
          double e = c;
      System.out.println(d);//10
      System.out.println(e);
​
      //在混合运算时, 小类型默认也是会转为大类型的
      int  f = (int)(10+'a'+10.5);
      System.out.println(10+'a'+10.5);//最终结果的数据类型是? double
  }
}

(9). 运算符

1) 算术运算符

+ - * / % ++ --

+: 作用1: 正号 作用2: 加法运算 作用3:字符串连接符

-: 作用1: 符号 作用2: 减法运算

* / % 只能用作算术运算 数值与数值运算

自增运算(++),自减运算(--) 都只能用于数值类型

java 复制代码
package day2;

public class Demo9 {
public static void main(String[] args) {
       int a = +30;
       int b = 20;
    System.out.println(a+b);
    System.out.println(a-b);
    System.out.println(a+'a');// 加法运算
    System.out.println(a-'a');// 减法运算
    //System.out.println(a+true);// 不可以
     int age = 20;
     String name = "jim";
    System.out.println("姓名:"+name+",age:"+age);
​
    System.out.println("---------------------");
    System.out.println(a*b);
    System.out.println(a/b);//1   整数/整数==结果是整数
    System.out.println(a%b); //取模  求余数
​
     int a = 5;
          ++a; //a=a+1
          a++;
    System.out.println(a);//7
         --a; //a=a-1
         a--;
    System.out.println(a);//5
​
    int a = 5;
    //int b = ++a + 2;   在混合运算时  ++在前  先增再判断
    //System.out.println(b);//8
    int b = a++ + 2; // 在混合运算时  ++在后  先判断再增
    System.out.println(b);//7
    System.out.println(a);//6
}
}

2) 比较运算符

== 和 != 可以用于数值 之间比大小,还可以比较布尔 类型, 还可以比较引用数据类型

<= >= 和< > 只能用于数值 之间的比较 , 包含字符类型 返回值为 true/false

java 复制代码
System.out.println(10==10);
System.out.println(ture==ture);
System.out.println("abc"=="abcd");
System.out.println('a'>10);
System.out.println(10>5);
System.out.println(10>10);

3) 赋值运算符

= 把右边的值赋给左边变量,注意右边字面常量和左边的字面常量需要一致(也可以小类型隐式的转换为大类型的),注意强制类转换

**+=**a+=b 相当于a=a+b

-= a-=b 相当于a=a-b

*= a*=b 相当于a=a*b

%= a%=b 相当于a=a%b

4) 逻辑运算符

& 逻辑与 | 逻辑或 **!**逻辑非

&& 短路与 || 短路或 ^ 逻辑异或

运算符,都只能是逻辑值与逻辑值之间的运算

  1. 逻辑与(&和&&):

当所有的表达式结果为true,结果才为true, 只要有一个表达式为false,结果就为false
区别:

& : 不会出现短路现象,已经有表达式为false,后面的表达式还会执行

&&: 会出现短路现象 所以也称为短路与.一旦有表达式值为false, 后面其他的表达式就不执行,称为短路了 (常用,效率高)
2. 逻辑或( | 和 || ) :

子表达式中只要有一个是true,结果就为true
区别:

| 不会 出现短路现象 有表达式返回true,但是后面的表达式还会执行

|| 会出现短路现象 一旦出现有表达式返回true,后面的表达式就不会执行了

java 复制代码
package day3;

public class OperDemo3 {

public static void main(String[] args) {
   int a = 10;
   int b = 15;
   int c = 20;
  
    System.out.println(a<b & c>b); // true & true = true
    System.out.println(a<b & c<b); // true & false = false
    //System.out.println(a>b & c++>b); // false & true = false  没有短路,前面为false 后面c++依然执行
    //System.out.println(c);21
​
    System.out.println(a<b && c>b); // true && true = true
    System.out.println(a<b && c<b); // true && false = false
    System.out.println(a>b && c++>b); // false && true = false
    System.out.println(c);//20
}

    System.out.println(a<b | c>b); // true | true = true
    System.out.println(a<b | c<b); // true | false = true
    //System.out.println(a<b | c++<b); // true | false = true
    //System.out.println(c);
​
    System.out.println(a<b || c>b); // true || true = true
    System.out.println(a<b || c<b); // true || false = true
    System.out.println(a<b || c++<b); // true || false = true
    System.out.println(c);
​
  }
}
  1. ^ 逻辑异或 : 突出重点就是 异 不同返回true,相同返回false

  2. ! 逻辑非 : 取反

java 复制代码
package day3;

public class OperDemo5 {
    System.out.println(a<b ^ c>b);// true ^ true = false
    System.out.println(a>b ^ c>b);//false ^ true = true
​
    System.out.println(!true);//false
    System.out.println(!(a>b));//true
​
    /*
      int a = 10, b = 10, c = 10;
      boolean result = a++ == 10 && b-- == 10 || ++c == 10;
        result= true
        a=11
        b=9
        c=10(短路了,没有执行)
     */
}
}

5) 条件运算符

  1. 格式: 结果 = (条件表达式)? 结果1 : 结果2;

  2. 注意: 当条件表达式结果为true 时,返回**?**后面的结果

当条件表达式结果为false时,返回**:**后面的结果

条件表达式必定要返回结果(与 if{ }else{ }不一样) 返回的结果 与 接收变量类型都得一致

java 复制代码
package day3;

public class OperDemo6 {

public static void main(String[] args) {
       /* int score = 50;
        String result =  (score>=60)?"及格":"不及格";
        System.out.println(result);*/
​
        int a = 10;
        int b = 20;
        int max = (a>b)?a:b;
        System.out.println(max);
​
}
}

6) 位运算符

  1. 定义: 是对整数的二进制位进行运算的

  2. 使用方法:

<< 左移 二进制比特位向左移动,后面空缺补0

>> 右移 二进制比特位向右移动(带符号), 正数移动后,符号位补0, 负数移动后,符号为补1

>>> 无符号右移 不管是正数还是负数,移动后统一补0, 结果肯定为整数

  1. 注意:

& 和 | 既可以当做逻辑运算符,也可以当做位运算符 当&和 | 左右是逻辑值(true/false) 时,当做逻辑运算符 当&和 | 左右是正数时,当做位运算符

java 复制代码
package day3;

import java.lang.reflect.Array; import java.util.Arrays; import java.util.HashMap;

public class OperDemo7 {

public static void main(String[] args) {
        int a  = 2;
        //  0000 0010
        //  0000 1000
        int b = a<<2;//左移两位
        System.out.println(b);
​
        //0000 1000
        //0000 0010
        int c = -8;
        int d = c>>2;
        System.out.println(d);//-2
​
      /*  int x = 8;
        int y = x>>>1;
        System.out.println(y);//4*/
​
        int x = 8;
        int y = x>>>1;
        System.out.println(y);//4
        
        int x = -8;
        int y = x>>>1;
        System.out.println(y);//2147483644
​
}
}
  1. 定义:

计算机以补码存储数值 , 正数的补码 反码 原码三码合一 , 负数以补码形式表示

  1. 数值二进制为什么要用补码存储 ?

因为计算机只做加法, 把减法 转换为加法

3-2 = 1 --> 3+(-2) = 1

+3 0000 0011

-2 1111 1110

0000 0001

2 0000 0010

1111 1101 反码 +1

1111 1110 -2的补码

java 复制代码
package day3;

public class OperDemo8 {

public static void main(String[] args) {
    //System.out.println(true & false);
    //System.out.println(true | false);
​
    int a  = 5;
    int b = 4;
    /*
       & 把两个整数的对应的二进制位进行 列 运算(每一列都是1,结果就是1,否则结果为0) 
          0000 0101   5
          0000 0100   4
          0000 0100   4
     */
    System.out.println(a & b);//4
​
    /*
         | 每一列只要一位是1,结果就是1,都没有1时才是0
          0000 0101   5
          0000 0100   4
          0000 0101   5
     */
    System.out.println(a | b);//5
​
    int x = 4;
    int y = 5;
    /*
       ^ 异或  两个数对应列的比特位相同结果0  不同结果为1
        0000 0100   4
        0000 0101   5 
        0000 0001   1
     */
    System.out.println(x^y);
​
     /*
       ~ 取反
        0000 0100
        1111 1011
      */
    System.out.println(~x);//-5

  }
}

(10). 控制台输入

java 复制代码
package day3;

//导入类库 import java.util.Scanner;

public class ScannerDemo {

public static void main(String[] args) {
    //创建一个输入对象
    Scanner scanner = new Scanner(System.in);//相当于导库,调用函数
    System.out.println("请输入姓名");
    String name = scanner.next();//从控制台上读取字符串
    
    System.out.println("请输入年龄");
    int age  = scanner.nextInt();
    
    System.out.println(name+":"+age);
​
}
}

(11)循环语句

循环定义: 满足某种条件时,重复执行某些操作 while do while for 循环有四个部分 循环变量初始化 循环条件 循环体 循环变量迭代

1) if判断和switch...case循环

if(条件表达式 a>b && c>d ture / false ){ }

if(条件表达式){ }else{ }

if(条件表达式){ }else if (条件表达式){ }.......

if(条件表达式){ }else if{ }......else{ }

注意: if后面如果没有 { },只能控制与其相邻的那一行
switch...case语句

switch(表达式){

case 字面常量1 : 语句块1 [break];

case 字面常量2 : 语句块2 [break];

case 字面常量3 : 语句块3 [break];

....

default: 默认语句块

}

注意: 1. 表达式值 可以是 byte short int char String(字符串) 枚举

  1. break 用在Switch循环语句中, 结束整个循环语句

  2. continue 用在循环语句中 结束当次循环

java 复制代码
package day3;

import java.util.Scanner;

public class SwitchDemo {
​
public static void main(String[] args) {
     int w = 3;
       switch (w){
           case 1:
               System.out.println("星期一");
               break;
           case 2:
               System.out.println("星期二");
               break;
           case 3:
               System.out.println("星期三");
               break;
           default:
               System.out.println("输入不合法");
       }
   String w = "3";
    switch (w){
        case "1":
            System.out.println("星期一");
            break;
        case "2":
            System.out.println("星期二");
            break;
        case "3":
            System.out.println("星期三");
            break;
        default:
            System.out.println("输入不合法");
    }
​
    /*
    从控制台输入一个整数月份
    打印该月份所属的季节,3,4,5春季  6,7,8夏季  9, 10, 11秋季  12 ,1,2 冬季
    分别用if  switch实现
    */
    Scanner scanner = new Scanner(System.in);
         int month = scanner.nextInt();
    if(month==3||month==4||month==5){
        System.out.println(month+"是春季");
    }else if(month>=6&&month<=8){
        System.out.println(month+"是夏季");
    }else if(month>=9&&month<=11){
        System.out.println(month+"是秋季");
    }else if(month==12||month==1||month==2){
        System.out.println(month+"是冬季");
    }else{
        System.out.println("输入有误");
    }
​
    //switch实现
    month = scanner.nextInt();
    switch (month) {
        case 1:
        case 2:
        case 12 :
            System.out.println(month+"是冬季");
            break;
        case 3:
        case 4:
        case 5 :
            System.out.println(month+"是春季");
            break;
        case 6:
        case 7:
        case 8 :
            System.out.println(month+"是夏季");
            break;
        case 9:
        case 10:
        case 11 :
            System.out.println(month+"是秋季");
            break;
        default:
            System.out.println("输入有误");
    }
}
}

2) while和do while循环

1.while循环:

while (条件){

}

2.do while 循环

do{

}while(条件表达式)

java 复制代码
package day3;

import java.util.Scanner;

public class WhileDemo {

public static void main(String[] args) {
        int a = 1;
         while (a<=5){
             System.out.println(a);
              //a++;
             //a=a+1;
             //a+=1;
              a+=2;
         }
​
   int  a = 5;
    while (a>=1){
        System.out.println(a);
        a--;
    }
​
    
    //  while实现死循环
     
     while(true){
         System.out.println("111");
     }
​
     int a = 8;
     do {
         System.out.println(a);
         a++;
     }while (a<=5);
​
     /*
         猜数字游戏
            循环让用户输入一个数字,
            当输入的值与x相同时,循环就可以结束
            猜小了  提示小了
            猜大了  提示大了
            相等退出循环   使用break关键字退出循环
            记录一下猜的次数
      */
    int x = 30;
    int count = 0;
    Scanner scanner = new Scanner(System.in);
     while (true){
         count++;
         int g =  scanner.nextInt();
         if(g>x){
             System.out.println("猜大了");
         }
         if(g<x){
             System.out.println("猜小了");
         }
         if(g==x){
             System.out.println("你经过了"+count+"次猜对了");
             break;
         }
     }
​
    //一直青蛙在一口11米深的井底向上爬,白天向上爬3米,晚上向下滑2米,总共需要几天可以爬出.
        int h = 0; //记录每天爬的高度
        int sum = 0;
        while (true){
            sum++;
            h+=3;
             if(h>=11){
                 System.out.println("经过了"+sum+"天爬出去了");
                 break;
             }
            h-=2;
        }
}
}

3) for循环

for(变量初始; 循环条件; 变量迭代){ }

4) 循环嵌套

java 复制代码
 public static void printStar(int row,int col){
      int row =4;
      int col= 5;
 for(int i=0;i<=row;i++){//外层循环,控制行数
      for(int j=1;j<= col ; j++){
      //内层循环,控制列数
           System.out.print("*");
//注意:在内层循环使用break 只结束内层循环, 不结束外层循环
   //  如果想要结束外层循环 需要使用标签
      }
           System.out.println();
   }
}

标签 格式如下:
outloop: for( ){//结束整个循环

​ for( ){

循环体

break outloop;

​ }​

}

(12). 函数(java中的方法)

就是写某个特定功能的代码,把他写在一组有名称的代码块{ }中,需要使用的时候,通过函数名调用(调用时,需要通过类名调用)

[访问权限修饰符] [修饰符] 返回值类型 函数名(参数列表){

方法体

(如果有返回值) return 值;

}

java 复制代码
package day4;
​
public class Demo3 {
    public static void main(String[] args) {//Demo3是类名
        Demo3.print99(5);//调用含参的99乘法表函数
        System.out.println("------------------");
        Demo3.print99();//调用不含参的00乘法表函数
        Demo3.printStar(5,10);
    }
​
​
    public static void print99(int row){//含参的
        for (int i =1;i<= row ; i++){
            for(int j=1;j<=i ;j++){
                System.out.print(j+"*"+i+"="+ i*j +" ");
            }
            System.out.println();//换行
        }
    }
​
    public static void print99(){//不含参
        for (int i =1;i<= 9 ; i++){
            for(int j=1;j<=i ;j++){
                System.out.print(j+"*"+i+"="+i*j+" ");
            }
            System.out.println();//换行
        }
    }
​
    public static void printStar(int row,int col){//不含参
        for(int i=0;i<=row;i++){//外层循环,控制行数
            for(int j=1;j<= col ; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

注意: 在java中可以定义两个函数名一样的方法, 称为方法的重载,区分关键在于是否有参数. void是没有返回值的类型, 可以不用写return; 如果定义了返回值的类型,就必须要写返回值

(13). return作用

java 复制代码
package day4;
​
public class Demo5 {
    public static void main(String[] args) {
        Demo5.print(98);
    }
​
    //void修饰的函数可以使用return,且后面不能添加任何值(return;)
    //如果是return 0 ,相当于有返回值
    public static void print(int score){
        if(score<0 || score >100){
            System.out.println("成绩不合法");
            return;
        }
        if(score>= 90){
            System.out.println("A");
            return;
       //return是终止,不return的话会出现问题,因为成绩也满足>=80,会同时打印AB
        }
        if (score>=80){
            System.out.println("B");
        }
    }
}
​