黑马程序员Java-基础语法day3笔记(package、运算符、方法函数)

视频链接

基础篇-Day3-01-package管理类文件和赋值运算符_哔哩哔哩_bilibili

目录

视频链接

package软件包

运算符

赋值运算符 

关系(比较)运算符

逻辑运算符

短路逻辑运算符(更常用)

三元运算符

练习:求最大值

 运算符优先级

方法

方法介绍

方法定义

练习:定义一个方法求最大值

方法的执行流程

调用的图解

调用参数

形参和实参

带返回值方法的定义和调用

 方法通用定义格式

方法重载


 

package软件包

选中模块右键新建就可以,例如com.itheima.scanner,有三个层级

在新版idea中选中树外观,把压缩空的中间软件包取消选中,就可以看到具体各层级的package

运算符

赋值运算符 

其中需要注意的是扩展赋值运算符内部自带强制转换

package com.itheima.operator;

public class operatordemo1
{
    public static void main(String[] args)
    {
        //扩展赋值运算符,内部自带强转效果
        short a=1;
        a+=1;//a=(short)(a+1);
        System.out.println(a);//2

        double b=12.3;
        int c=15;
        c+=b;//c=(int)(15+12.3)
        System.out.println(c);//27
    }
}

关系(比较)运算符

关系运算符的结果都是boolean类型,只有true和false两种可能的结果 

逻辑运算符

连接boolean的表达式或者值,可以用来整合多个条件

package com.itheima.operator;
import java.util.Scanner;
public class operatordemo3 {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("enter the number:");
        int score = sc.nextInt();
        System.out.println(score>=90 & score<=100);
        System.out.println(!(score==57|score==58|score==59));
    }
}

和if语句结合效果会更好,如果输入98的话输出就是true true

短路逻辑运算符(更常用)

&&和||在代码中效率会比不短路的&和|高很多

package com.itheima.operator;

public class operatordemo4 {
    /*
    &:没有短路效果
    &&:具有短路效果,左边为false,右边就不执行了
    |:没有短路效果
    ||:具有短路效果,左边为true,右边就不执行了

    常用的逻辑运算符:&& || !,效率高
     */
    public static void main(String[] args) {
        int x=3;
        int y=4;
        int a=5;
        int b=6;

        boolean result1=++x >5 && y-- < 4;
        boolean result2=++a >5 || b-- < 6;

        System.out.println(x);//4
        System.out.println(y);//4
        System.out.println(a);//6
        System.out.println(b);//6
        System.out.println(result1);//false
        System.out.println(result2);//true
    }
}

&&左边遇到false就不执行右边剩下的了,||左边遇到true就不执行右边剩下的了

三元运算符

格式:判断条件 ? 值1 : 值2;

执行流程:

  • 首先计算判断条件的值
  • 如果结果是true,值1就是运算结果
  • 如果结果是false,值2就是运算结果
package com.itheima.operator;

public class operatordemo5 {
    public static void main(String[] args) {
        int num1=10;
        int num2=20;

        int max=num1>num2?num1:num2;
        System.out.println(max);
    }
}

 根据判断结果,两份数据中二者选一

练习:求最大值

package com.itheima.test;
import java.util.Scanner;
public class operator3test {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入第一个数字:");
        int num1=sc.nextInt();
        System.out.println("请输入第二个数字:");
        int num2=sc.nextInt();
        System.out.println("请输入第三个数字:");
        int num3=sc.nextInt();
        int tempmax=num1>num2?num1:num2;
        int max=tempmax>num3?tempmax:num3;
        System.out.println("三个数字之中的最大值为:"+max);
    }
}

连续运用两次三目运算符,tempmax比较出来前两个值中的最大值,并用这个最大值再和第三个数进行比较,最大的数字用max变量保存并拼接字符串输出

 运算符优先级

&&大于||

第一优先级为小括号,需要改变运算属性,用好小括号就可以

方法

方法介绍

方法method是一段具有独立功能的代码块,不调用就不执行

  • 可以将代码进行分类管理
  • 让代码具有复用性

方法定义

 格式照着main函数仿写就行

练习:定义一个方法求最大值

package com.itheima.method;

public class metoddemo1
{
    /*
        注意事项:
        1、方法与方法是平级关系,不允许嵌套定义
        2、方法不调用就不执行
        3、方法的定义顺序和执行顺序无关,想要梳理执行顺序就看调用顺序
     */
    public static void main(String[] args)
    {
        max();
    }
    public static void max()
    {
        int num1 =77;
        int num2 =99;
        int max = num1 > num2 ? num1 : num2;
        System.out.println("两个数字的最大值为"+max);
    }
}

注意事项:
1、方法与方法是平级关系,不允许嵌套定义
2、方法不调用就不执行
3、方法的定义顺序和执行顺序无关,想要梳理执行顺序就看调用顺序

方法的执行流程

debug时候,第一个折线的按钮F8步过点击后不能进入方法,需要点击第二个按钮F7步入

 

调用的图解

  • 方法在没有被调用的时候,在方法区中的字节码文件中存放
  • 方法被调用的时候,需要进入栈内存中运行

 先将字节码文件中所有的方法放在方法区中,首先main方法进栈内存,之后getmax函数进入栈内存。

方法代码执行完毕后,依次从栈内存中退出(弹栈)。

调用参数

package com.itheima.method;

public class methodDemo2 {
    public static void main(String[] args)
    {
        System.out.println("开始");
        getmax(30,40);
        System.out.println("结束");
    }
    public static void getmax(int num1,int num2)
    {
        int max = num1 > num2 ? num1 : num2;
        System.out.println("两个数字的最大值为"+max);
    }
}

形参和实参

形参:全称形式参数,是指在定义方法的时候,所声明的参数

实参:全程实际参数,调用方法时,所传入的参数

带返回值方法的定义和调用

我们经常会根据一个方法产出的结果,来去组织另外一段代码逻辑;为了拿到这个方法产生的结果,就需要定义带有返回值的方法。

定义格式

package com.itheima.method;

public class methodDemo2 {
    public static void main(String[] args)
    {
        int result = getmax(30,40);
        System.out.println("两个数字的最大值为"+ result);
        //check(40);
    }
    public static int getmax(int num1,int num2)
    {
        int max = num1 > num2 ? num1 : num2;

        return max;
    }
}

 方法通用定义格式

定义方法做到两个明确:

  • 明确参数:明确参数的类型和数量
  • 明确返回值类型:明确方法操作完毕之后是否有结果数据,如果有,写对应的数据类型,若没有就写void

 常见问题:

  • 没有返回值的方法可以省略retutn语句不写
  • return下面不能写代码,因为永远执行不到

方法重载

  • 在同一个类中,定义了多个同名的方法,但每个方法有不同的参数个数或者不同的参数类型,这些同名的方法构成了重载关系
  • 识别方法之间是否是重载关系,只看方法名和参数,跟返回值无关

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值