【JAVA】JAVA核心基础--java基本语法

一.注释

//单行注释
/*
多行注释
*/
/**
文档注释
*/

二.关键字

  • 在java中,被Java语言赋予了特殊含义,用作专门用途的字符串
  • 关键字所有都为小写
  • 例:public class static void

三.常量

常量类型说明
字符串常量双引号括起来的内容
整数常量不带小数的数字
小数常量带小数的数字
字符常量单引号括起来的内容
布尔常量true、false
空常量null

四.数据类型

数据类型数据类型内存占用和取值范围:
ALT
ASCII码:100---->‘d’

五.变量

存放数据的,并且存放的数据是可以发生改变的

1.变量按声明位置(作用范围):

  • 局部变量:在方法中声明的变量,在当前声明距离最近的大括号内使用

  • 成员变量:在方法外面声明的变量 或者 在类中声明的变量,在当前类中可以直接使用

六.标识符

标识符定义规则:
在这里插入图片描述

七.类型转换

类型转换分几种:
在这里插入图片描述
自动类型转换:
在这里插入图片描述强制类型转换:

八.运算符

算数运算符

注意:1. 在Java中,当两个操作数都是整数类型时,则运算结果就是整数类型

2.在Java中,当有一个操作数是小数类型,则运算结果就是小数类型

  • +
    class Operator{
        public static void main(String[] args){
            System.out.println(10 + 20);//两个数都是数值
            System.out.println("123" + 22);//两个数其中一个以上为字符串类型
        }
    }
    
    1. 当有两个操作数都是数值时(整数、小数),则+作求和
    2. 当有一个操作数是字符串类型时,则+作连接、拼接,最终结果为字符串类型的值
  • -
    class Operator{
        public static void main(String[] args){
            System.out.println(10 - 2);//在Java中,减号-只能做减法运算
        }
    }
    
  • *
    class Operator{
        public static void main(String[] args){
            System.out.println(8 * 8);
        }
    }
    
  • /
    class Operator{
        public static void main(String[] args){
            System.out.println(10 / 2);//5
            System.out.println(11 / 2);//5
            //1.在Java中,当两个操作数都是整数类型时,则运算结果就是整数类型(不进行四舍五入)
            System.out.println(10.0 / 2);//5.0
            //2.在Java中,当有一个操作数是小数类型,则运算结果为小数类型
        }
    }
    
  • % 取余数
    class Operator{
        public static void main(String[] args){
            System.out.println(10 % 2);//0
            System.out.println(10.0 % 2);//0.0
            System.out.println(10 % 3);//1
        }
    }
    
  • ++ 表示自身加一
    class Operator{
        public static void main(String[] args){
            int a = 10;
            int b = ++a *2;//a = 11   b = 22
            /*前置++:将++编写在变量名称前面;
            	先自身加1,然后再做其他运算
            */
            int x = 10;
            int y = x++ *2;//x = 11  y = 20
            /*后置++:将++编写在变量名称后面;
            	先做其他运算,然后再自身加1
            */
        }
    }
    
  • – 表示自身减一
    class Operator{
        public static void main(String[] args);{
         	int a = 10;
            int b = --a *2;//a = 9  b = 18
            /*前置--:将--编写在变量名称前面;
            	先自身减1,然后再做其他运算
            */
            int x = 10;
            int y = x-- *2;//x = 9  y = 20
            /*后置--:将--编写在变量名称后面;
            	先做其他运算,然后再自身减1
            */   
        }
    }
    

连接运算符

  +
  1. 求和、连接

  2. 当是字符串进行拼接时,变量值的位置不同,结果不一样

赋值运算符

 =
  • 将等号右侧的值赋值给等号左侧的变量名称

扩展赋值运算符

  • += 加等 、-=减等 、*= 乘等、 /= 除等 、 %= 取余等
class Operator{
    public static void main(String[] args){
        int a =8;
        a = a + 8//该条语句等价于  a += 8

        int a = 0,b = 123;
        a = a * 10 + b % 10; //a = 3
        //上面一条语句是否等价于如下代码? ---不等价
        a *= 10 + b % 10; //a = 0
        //结果a = 0  其实该条语句等价于a = a * (10 + b % 10);
        
        int a =123;
        a += 5.97;//a = 128
        //注意:再Java中,当使用扩展赋值运算符,最终不会改变左侧变量的数据类型,
        //并且不会进行四舍五入。
        //但是 a = 123 + 5.97 编写错误,小数不能直接给整数类型赋值,需要强制k
        
        int x = 123;
		x -= 10; //x = 113
		x *= 10; //x = 1230
		x /= 10; //x = 12
		x %= 10; //x = 3
    }
}

关系运算符

  • <、>、<=、>=、==(等等于)、!=(不等于)
class Operator08{
	public static void main(String[] args){
		/*
		关系运算符
		如果满足条件(条件成立),则结果为true(真的),否则结果为false(假的)
		*/
		System.out.println(1 > 2); //false
		System.out.println(10 < 20); //true
		System.out.println(12 % 2 >= 6); //false
		System.out.println(10 % 3 <= 3); //true
		System.out.println(18 / 9 == 0); //false
		System.out.println(21 / 7 != 6 / 2); //false
	}	
}
### ==equals()区别:

1. **==**

判断左右两边内存中存放的是否一致

2. **equals()**

当是字符串类型时,如果比较内容()则使用equals()方法完成

逻辑运算符

1.逻辑与 &
class Operator{
    public static void main(String[] args){
        /*逻辑与&
        	也就是:当两个条件都满足(成立)时,则结果为true,否则为false
        */
        System.out.println(5 >= 3 & 8 != 9);//true
        System.out.println(11 < 22 & 0 > 5);//false
    }
}
2.逻辑或 |
class Operator{
    public static void main(String[] args){
        //逻辑或| :当有一个条件为true,则结果为true,否则为false
		System.out.println(100 / 10 >= 0 | 1 < 2); //true
		System.out.println(6 % 2 == 3 | 18 / 3 == 0); //false
		System.out.println(20 % 5 == 4 | 14 / 2 == 7); //true 
    }
}
3.逻辑异或 ^
class Operator{
    public static void main(String[] args){
        //逻辑异或:相同false,不同结果为true
        /*true ^ true 则结果为false
 		 true ^ false 则结果为true
  		 false ^ false 则结果为false
  		 false ^ true 则结果为true
		*/
        System.out.println(10 != 20 ^ 5 % 4 ==1);//false
        System.out.println(3 <= 2 ^ 6 < 7);//true
    }
}
4.逻辑非 !
class Operator{
    public static void main(String[] aegs){
        //对true 或者false 取反
        System.out.println(!true);//false
        System.out.rintln(!!true);//true
        System.out.println(!(1 < 2 ));//false
    }
}
5.短路与 &&
class Operator{
    public static void main(String[] args){
        /*通过运行得到结论:
			1.短路与和逻辑与的执行结果都一样
			2.无论是短路与还是逻辑与都是与,都表示并且、同时
			3.短路与和逻辑与的执行过程可能不同
			  当使用短路与时,并且第一个条件为false时,则结果直接为false
			4.因此:使用短路与执行速度相对更快或者执行效率更高
			5.建议使用:短路与
		*/
        System.out.pringln(15 <= 16 && 2 > 1);//true
        System.out.println(1 == 0 && 5 <= 9); //false
    }
}
6.短路或 ||
class Operator{
    public static void main(String[] args){
        /*1.短路与和逻辑或的执行都一样
		 2.短路或和逻辑或都表示或者
 		 3.当使用短路或时,如果第一个条件为true时,则结果直接为true
		 4.因此得到:使用短路或执行速度可能更快或者执行效率更高
		 5.建议使用:短路或
		*/
        System.out.println(9 > 8 || 1 < 0);//true
    }
}

三目运算符(难点)

  • 语法格式:条件 ?代码 1 : 代码 2

    三目运算符的执行过程:

    1. 先判断条件,如果条件为true,则执行代码1,否则执行代码2

    三木运算符什么时候使用?

    1. 当是二选一时,则就可以使用三目运算符完成;
    2. 当是多选一时,则就可以使用三目嵌套完成
class Operator{
    public static void main(String[] args){
        /*练习1:判断100大于18?
		分析得到:
			 1.该题的结果:大于
			 2.该题有两种情况,要么是大于,要么是不大于,但是最终只得到一个结果
				 因此该题也就是二选一,就可以使用三目运算符完成
			 3.三目运算符的语法格式:条件 ? 代码1 : 代码2
		*/
        System.out.println(100 > 88 ? "大于" : "不大于");
    }
}
class Operator{
    public static void main(String[] args){
        /*练习2:判断12是奇数还是偶数
		分析得到:
		1.该题结果是偶数
		2.因此得到:该题是二选一,要么是奇数,要么是偶数,则就可以使用三目运算符完成
		3.也就是:当前这个数除以2的余数如果为0,则表示能被2整除,也就是偶数
				     则编写为:12 % 2 == 0
		*/
        int num = 12;
        System.out.println(num % 2 == 0 ? num + "是偶数" :  num + "是奇数");
    }
}

位运算符

位运算符细节
<<空位补0,被移除的高位丢弃,空缺位补 0
>>被移位的二进制最高位是0 ,右移后,空缺位补 0;最高位是1 ,空缺位补 1 。
>>>被移位二进制最高位无论是0 或者是 1 ,空缺位都用 0 补。
&二进制位进行运算,只有 1&1 时结果是 1 ,否则是 0;
|二进制位进行|运算,只有 0 |0 时结果是 0 ,否则是 1;
^相同二进制位进行^ 运算,结果是 0 1^1=0 , 0^0=0; 不相同二进制位^ 运算结果是 1 。 1^0=1 , 0^1=1
~正数取反,各二进制码按补码各位取反
负数取反,各二进制码按补码各位取反

九.键盘接受用户输入(重点、难点)

  • 当该题中有未知数时,则就可以使用键盘接收用户输入完成
  • 使用时值相对灵活
//第一步:导入包,必须位于当前Java源文件所有类的最前面
	//注意:一个Java源文件中只需要编写一次导入包即可
import java.util.Scanner;//还可以编写为import java.util.*;
class Input{
    public static void main(String[] args){
        //第二步:创建Scanner对象
        	//注意:一个方法中只编写一次创建Scanner即可
        Scanner input = new Scanner(System.in);
        //第三步:友好提示
        System.out.println("请输出第一个整数:");
        //第四步:接受键盘输入
            //当按回车键,则表示键盘输入完毕	
        int num = input.nextInt();
        System.out.println("num = " + num);
    }
}
import java.util.*;//还可以编写为import Java.util.*;
class Input01{
    public static void main(String[] args){
        //练习一:输入某个学生的信息,并输出所有的信息
        Scanner input = new Scanner(System.in);
        System.out.println("请输入姓名")String a = input.next();//再String中next后没有东西
        System.out.println("请输入性别")String b = input.next();
        System.out.println("请输入年龄")int c = input.nextInt();
        System.out.println("请输入身高");
        double d = input.nextDouble();//输入double类型写法
        System.out,println("请输入体重")double e = input.nextDouble();
        System.out.println("请输入爱好")String f = input.next();
        
        System.out.println("姓名:" + a 
                         + "\n性别:" + b
                         + "\n年龄:" + c
                         + "\n身高:" + d
                         + "\n体重:" + e
                         + "\n爱好:" + f);
    }
}

十.程序流程控制有三大结构

1.顺序结构:按照顺序(步骤)逐行执行;

2.选择结构(重点)

if 选择结构语法格式

if(条件){
    代码块
}
  • 注意事项:
    1. 在Java中,当代码块中只有一条语句时,则大括号是可以省略的
      其实也就是:当没有编写大括号,则系统默认给一条语句编写大括号
      建议:初学者大括号还是编写上
    2. if else 选择结构
      • 什么时候使用if else结构?
        当二选一时,则可以使用if else 选择结构完成
      • 语法格式
if(条件){
    代码块1
}else{
    代码块2
}
  • if else 选择结构执行流程:

    • 先判断条件,如果条件为true,则执行代码块1,否则执行代码块2
    例:在数学中,编写条件为   			100 ≤ num ≤ 999Java中,编写为 		num >= 100 && num <= 999
    
    1. 多重 if 选择结构
      3.1什么时候使用多重if结构?

      • 当有两种或者两种以上情况时,要得到最终一个结果,则就可以使用多重 if 选择结构完成

      3.2 多重if选择结构语法格式

      if(条件1){
          代码块1
      }else if(条件2){
          代码块2
      }else if(条件3){
          代码块3
      }else if(条件4){
          代码块4
      }
      ……
       else{
           代码块n
       }
      

      3.3 多重 if 选择结构说明

      • 多重if选择结构中的else if(){}是可以编写任意多个,根据题意编写

      3.4 多重 if 选择结构注意事项

      • 多重if选择结构中的else if(){}可以颠倒,编译不报错,但是运行结构可能会有影响

        解决办法:将条件必须编写严谨

      • 当多重if选择结构中所有条件都不满足时,则执行 else{}

      • 多重if选择结构中的else{}是可有可无的

      • 如果在多重if选择结构中编写else{},只能编写在多重if选择结构的最后,并且只能编写一个

    2. if 选择结构的嵌套:

      if(){
          if(){
              
          }else{
              
          }
      }else if(){
          if(){
              
          }else if(){
              
          }else if(){
              
          }
      }else{
          if(){
              
          }
      }
      

3.程序流程控制:switch-case结构(重点)

​ 当做等值操作时,则就可以使用switch case完成

  1. 格式

    switch(表达式){

    case 常量 :

    ​ 执行语句1;

    ​ break;

    ……

    default:

    ​ 执行语句;

    ​ break;

    }

  2. 说明:

    1. 根据switch表达式中的值,依次匹配各个case中的常量,一匹配成功,则进入相应case结构中,调用其执行语句’
      当调用完成后,则任然继续向下执行其他case语句,直到遇到break关键字或此switch-case结构结束为止;

    2. break,可以使用在switch-case结构语句中,表示一旦执行到此关键词,就跳出switch-case语句;

    3. switch结构中的表达式,只能是如下的数据类型之一:
      byte、short、char、int、枚举类型(JDK5.0)、string类型(JDK7.0之后)
      常量值的类型必须与表达式值的类型一致

    4. case之后只能声明常量,不能声明范围;
      常量:存放数据的,并且存放的数据是不可以发生改变的

      常量值的类型必须与表达式数据类型相同

    5. break关键字是可选的
      break表示中断,也就是:当遇到break则结束当前整个switch case执行外面的语句

    6. default;相当与else;可选的

      当所有case都不满足时,则执行default

      default是可有可无的,如果有则一个switch 中只能编写一个

  3. switch case中常见的注意事

    1.case后面值的顺序是可以颠倒的,编译不报错,也不影响程序的运行结果

    建议:还是按顺序编写

    2.default顺序也可以颠倒,编译不报错,也不影响程序的运行结果

    原因:当所有case都不满足时,则执行default

    建议:default最好还是编写在所有case的后面

    3.break是可有可无的

    ​ 如果有break,当遇到break则结束当前整个switch case执行外面的语句

    ​ 如果没有break,则可能会影响程序的运行结果

    原因:找到第一个匹配的case或者default一直向下执行语句,

    其实也就是构成case穿透

    因此得到结论:switch中最后是case或者是default中的break是可有可无,不影响结果

    建议:根据情况适当编写break

    case是可以合并的

  4. switch case 和if else 转换说明:

    1. 凡是可以使用switch-case的结构,都可以转换为if else语句;反之不成立
    2. 两结构都可以使用,switch中表达式的取值情况不太多时建议使用switch case
      原因:switch-case执行效率稍高(开发中绝大部分使用if else)

1-13循环结构:

​ 在某些条件满足的情况下,反复执行特定代码的功能

  • 将重复的代码只编写一次,重复执行即可

  • 好处:减少代码的重复性(冗余性)

  • 循环语句的分类

    1. for循环
    2. whlie循环
    3. do-while循环

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

​ —— 循环结构的4要素

	1. 初始化条件
	2. 循环条件 ——>必须是布尔类型
	3. 循环体
	4. 迭代条件

一,for循环结构:

	for(初始化条件;循环条件;迭代条件){
		循环体
	}
  • for循环说明:

    1. 初始化条件完成变量的初始值,比如:int i = 0;
    2. 表达式2完成循环条件的判断**,如果循环条件为true则执行循环体,否则结束for循环执行外面的语句,比如: **i <= 5;
    3. 循环体也就是:将重复的代码只在循环体中编写一次,重复执行即可,比如:System.out.println(“HelloWorld”);
    4. 表达式3完成变量值的更改**,比如:**i++。
  • for循环中常见的注意事项:

    1. 注意:

      在DOS命令窗口中按Ctrl + C表示强行终止程序运行

      /*for循环中三个表达式都可以省略但是分号必须编写,则出现死循环也叫做无限循环*/
      //
      for(;;){
      	System.out.println("OK");
      }
      
    2. 注意:

      //当省略表达式1,则出现编译错误
      int i = 1;//解决办法:将表达式1编写在循环上面即可
       for(;i <= 5;i++){
               System.out.println(i);
       } 
      
    3. 注意:

      //当省略表达式2,则出现死循环也叫做无限循环,也就是:当表达式2省略默认为true
      for(byte i = 1;;i++){
      	System.out.println(i);
      }
      
    4. 注意:

      //当省略表达式3,则出现死循环也叫做无限循环,
      for(int i = 1;i <= 5;){
          System.out.println(i);
          i++;//解决办法:将表达式3编写在循环体中最后一条语句
      }
      
    5. 注意:

      //当在表达式1中声明变量,如果在循环外面使用该变量,则出现编译错误,
      /*解决办法:
      1.将表达式1声明编写在循环上面;
      2:将表达式1的声明和赋值都编写在循环上面,也就是注意事项2
      */
      int i;
      for(i = 1;i <= 5;i++){
      	System.out.println(i);
      }
      System.out.println(i); 
      

二.whlie循环结构:

	 初始化条件
	while(循环条件){
		循环体
            迭代条件
}
  • while 循环执行流程:

Ø 先判断循环条件,如果条件为true,则执行循环体,然后再判断循环条件………一直到循环条件为false时,则结束当前while循环,执行循环外面的语句

三.do while循环结构

初始化条件
do{
    循环体
        迭代条件
}while(循环条件);
  • do while循环流程:

    先执行循环体,然后再判断循环条件,如果循环条件为true,则继续执行循环体…….一直到循环条件为false时,则结束当前do while循环,执行循环外面的语句

四.三种循环区别

  1. 执行流程不同

    Ø for循环和while循环:先判断循环条件,如果条件为true,则执行循环体

    Ø do while循环:先执行,然后再判断

  2. 使用情况不同
    Ø 当循环次数固定时,建议:使用for循环

    Ø 当循环次数不固定时,建议:使用while循环、do while循环

    • 先执行,然后再判断,则建议使用do while循环

    • 先判断,然后再执行,则建议使用while循环

  3. 当循环条件第一次就为false时,

    Ø for循环和while循环:执行0次循环体

    Ø do while循环:执行1次循环体

    Ø 因此得到结论:

    • for循环:0次------N次

    • while循环:0次----N次

    • do while循环:1次-----N次

五.双重循环也叫做二重循环

  • 在一个完整的循环中,再编写一个完整的循环,称为二重循环,

    也叫做双重循环或者循环嵌套

  • 语法格式:

for(;;){ //称为外层循环
	for(;;){ //称为内层循环
		
	}
}
  • 双重循环特点:
    当外层循环执行一次,则内层循环执行一遍

六.循环中使用可以使用的语句

  • break;
    表示中断,当在循环中遇到break,则结束当前整个循环,执行循环外面的语句

  • continue;
    表示继续,当在循环中遇到continue,结束当前这次循环,继续执行下一次循环

十一.方法:

  1. ​ 方法method 也叫做函数

    ​ 在Java中,实现某一个功能的代码称为方式,例:输出、判定、求和……

  2. 方法的分类:

    • 系统提供的方法:

      print()

      println()

      nextInt()

    • 用户自定义的方法

用户自定义方法的语法格式(重点):

[修饰符] 返回值类型 方法名称([参数列表]){

​ 方法体

}

  • 方法的说明:

1.在Java中==[]==中的内容是可有可无

2.返回值类型有两种情况

​ 第一种情况:无返回值类型,也就是编写为void

​ 第二种情况:有(带)返回值类型

3.方法名称也就是标识符

​ 建议:方法名称编写该方法实现具体功能的单词

​ 建议:方法名称采用驼峰命名法,比如:print sum ……

4.方法体也就是编写该方法实现具体功能的代码

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

  1. 方法的注意事项:

    1.在Java中,方法编写在其他方法的外面或者编写在类中,也就是说:方法是不能嵌套方法的

    2.仿照main方法编写需要的方法

    3.当使用java命令来运行字节码文件时,会自动找程序的入口也就是main方法,然后从main方法中的第一条语句开始逐行向下执行

    ​ 也就是说:运行并不是从类中的第一行开始逐行向下执行

    4.因此得到:用户自定义的方法编写好以后不会自动执行,则必须要进行方法的调用

    调用方法的语法格式:

    第一种方式:类名.方法名称([参数列表]);

    第二种方式:方法名称([参数列表]);

    ​ 两种调用方式的区别:

    ​ 第一种方式:可以调用本类(当前类)中的其他方法,还可以调用其他类中的方法

    ​ 第二种方式:只能调用本类(当前类)中的其他方法

    5.一个方法编写好以后,可以调用任意多次

    6.栈特点:先进后出 或者叫做后进先出

    ​ 队列特点:先进先出 或者叫做后进后出

一.无参数无返回值类型

  • 格式:

    public static void 方法名称(){
    	方法体 
    }
    

二.无参数带返回值类型

当==方法结果只有一个==时,则可以编写为带返回值类型的方法完成

  • 格式:

    public static 数据类型 方法名称(){
    	方法体
            return;
    }
    
  • 方法:

    1. 当方法带有返回值类型时,则不能编写为void,也就是编写返回结果对应的数据类型
    2. 当方法带有返回值类型时,则方法体中必须编写return,否则出现编译错误
    3. 一个方法体中可以编写任意多个return 但是最终只执行一个相匹配的return

方法中可以使用的语句:

​ break; continue; return;

break;

	break表示中断.break使用场景:

	在switch case中使用,还可以在循环中使用
  • break作用:

    当遇到break,则结束当前整个switch case或者当前整个循环,执行外面的语句

continue;

​ continue表示继续,continue使用场景:

​ 只能在循环中使用

  • continue作用:

    当遇到continue,则结束当前这次循环(本次循环),继续执行下一次循环

return;

​ return表示返回,return使用场景:

​ 在方法中使用

​ return作用:

当遇到return则结束当前这个方法

  • return特殊形式:

    当方法是无返回值类型,则方法体中可以使用return 但是使用return只能编写为return;

1.当方法带有返回值类型,并且是二选一,则方法体中可以有三种写法:
public static String judge(){
		int num = 12;
		//第一种写法:使用if else完成
		if(num % 2 == 0){
			return num + "是偶数";
		}else{
			return num + "是奇数";
		}*

		//第二种写法:使用三目运算符完成
		return num % 2 == 0 ? num + "是偶数" : num + "是奇数";

		//第三种写法:
		if(num % 2 == 0){
			return num + "是偶数";
		}
		return num + "是奇数";
	}
2.当方法带有返回值类型,并且在方法题中使用switch ,case或者default后面如果编写return则return后面就不能再编写break,否则就出现编译错误
class Method06{
	/*
		练习6:使用方法完成,根据星期得到每天做的事情.
			   假如星期一、星期二、星期四、星期六学习,星期三、星期五自习,星期日休息
	*/
	public static String judge(){
		//假如星期为一个指定的值
		String week = "星期5";
		switch(week){
			case "星期一":
			case "星期二":
			case "星期四":
			case "星期六":
				return "学习";
        /*
        出现编译错误
		原因:return表示返回,也就是:当遇到return则结束当前这个方法的执行
		return后面不需要再编写任何语句,如果写反而还出现编译错误
		如果没有编写break,也没有穿透
		*/
		//break;
			case "星期三":
			case "星期五":
				return "自习";
			case "星期日":
				return "休息";
			//解决办法2:在switch中编写default,并且返回一个字符串类型的值
			default:
				return "星期输入有误!";
		}
		//解决办法1:在switch外面编写return 返回一个字符串类型的值
		return "星期输入有误!";
	}
	public static void main(String[] args){
		
	}
}

三.有参数无返回值类型

该方法中有未知的数时,则就可以编写为带参数的方法完成

  • 带参方法的注意事项

    1.参数编写在方法名称后面的小括号中

    2.并且**每个参数都必须编写为:数据类型 参数名称**

    ​ 多个参数之间使用英文逗号隔开

    3.定义方法中,未知的数,称为形式参数

    ​ 简称形参,比如:n就是形参

    ​ 在调用方法时,给具体的值,称为实际参数

    ​ 简称实参,比如:5就是实参

    ​ 也就是:调用时,实参的值赋给形参变量名称

    ​ 必须保证

    实参与形参的个数一致

    实参与形参的数据类型一致

    顺序一致

    4.建议:实参的值最好编写为键盘接收用户输入,使用相对更灵活

四.有参数有返回值类型

有参数无返回值类型无参数有返回值结合

import java.util.*;
class School1{
	public static void main(String[] args){
		//判断一个数是否是水仙花数
		//三位数、能被4整除但不能被100整除,或者能被400整除
		//第一步:输入
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个三位正整数:");
		int num = input.nextInt();
		System.out.println(School1.judge(num));
	}
	public static String judge(int x){
		if(x < 100 || x >= 1000){
			return x + "不是一个三位正整数";
		}
		int gw = x % 10;
		int sw = x / 10 % 10;
		int bw = x / 100;
		if(x == (gw*gw*gw + sw*sw*sw + bw*bw*bw)){
			return x + "是水仙花数";
		}else{
			return x + "不是水仙花数";
		}
	}
}

五.方法注意事项:

  • 方法中的参数属于局部变量,在当前方法中开辟空间存储
  • 局部变量在当前声明大括号内使用
  • 因此各自方法中的局部变量可以同名,不报错,没有任何影响
  1. 方法重载overload
    • 同一个类中,方法的名字必须相同,参数列表必须不同(个数不同、类型不同、顺序不同),至少编写2个方法
    • 在调用方法时,会根据实参自动找相匹配的方法执行,当都匹配
      则会寻找更接近的方法执行
    • 使用时相对灵活
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天选之鸣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值