Java 03

1 篇文章 0 订阅

一、类型转换

1.自动类型转换

类型兼容 (大类型盒子 = 小类型值)

注意:大类型参与运算符,尽可能提前 ,大数类型置前

2.强制类型转换

小类型盒子 =(小类型)大值;

除boolean类型之外,在java中boolean类型为1位,没有C语言中真即1

注意:类型转换的作用范围

二、方法

1.理解

解决某个问题的 有名称的 代码块 。 函数。。。。

  • 具备某个功能

  • 方法名: 可以多次使用 调用

  • 多行代码

2.参数

编写方法,方便外界放入数据的,功能方法内使用 。

编写方法使用: 需要形参(就是变量)

调用方法使用: 需要实参(就是数据)

3.返回

编写方法,根据需要 可能需要 返回值return

4.编写方式格式

public static 返回类型|void 方法名(形参列表){
    代码块。。。。。
}

方法编写时与位置无关。调用时确定顺序。。。。 方法不能嵌套。

/**
    写print方法
*/
public class HelloWorld{
    public static void main(String [] args){
        print();//方法调用
    }
    public static void print(){
        //打印HelloWorld
        System.out.println("HelloWorld");
    }
}

5.方法调用

原路返回,从哪里回哪里

6.方法签名

保证此方法一个类中的唯一性 : 方法名+形参组成(类型 个数 顺序) ,与 形参名 返回类型 方法体无关

/**
    方法签名如下:
*/
main(String[])
add(int,int,int)
abs(int)
print(double)

7.方法重载

两同三不同: 一个类中,方法名相同,形参类型 个数 和顺序不同。

方法调用:就近最优原则

/*方法重载*/
System.out.println("abc");
System.out.println(100);
add(int a,int b);
add(double n,double m);

8.方法递归

方法自己调用自己 : 递归头 递归体 递归结束

/*打印整数*/
public class Num{
    /*程序入口*/
    public static void main(String [] args){
        print(5);//给num传入5
    }
    //方法print
    public static void print(int num){
        //打印数字
        System.out.println(num);
        //方法调用
        print(num+1);
    }
}

三、工具方法(二个方法)

1.随机数

目标:获得随机的整数

1)java.lang.Math.random() -->[0,1) 随机的小数

2)java.util.Random nextInt(int bound) -->[0,bound) 随机整数

/*
    产生随机整数[0,max]
*/
public class Tool01{
    //程序入口
    public static void main(String [] args){
       int num=getNum(5);
        System.out.println(num);
    })
    pubic static int getNum(int max){
    //工具方法,创建对象
        java.util.Random random=new java.util.Random();
        int num=random.nextInt(max+1);
        return num;
    }
}
/**
    案例:原本是[0,100] 需求是要[5,100]
        拆开变成[0,95] +5==[5,100]
        关系是 min=5 max=100
        [0,max-min]+min
*/
public class Tool02{
    //程序入口点
    public static void main(){
        
        int num=getNum(3,5);
        System.out.pritnln(num);
       //随机小写字母
        char letter=(char)getNum('a','z');
        System.out.println(letter);
    }
    /**
        随机整数【0,max】
    */
    pubic static int getNum(int max,int min){
    //工具方法,创建对象
        java.util.Random random=new java.util.Random();
        int num=random.nextInt(max-min+1)+min;
        return num;
    }
    
}

2.键盘输入

目标:获取 整数 小数 字符串

java.util.Scanner

整数:nextInt 小数:nextDouble 字符串:next()

/**
    获取键盘输入  整数  小数  字符串
*/
public class Tool03{
    //入口点
    public static void main(String [] args){
        //调用方法键盘输入整数
        int num =getIntFromConsole("请输入你喜欢的数字:");
        System.out.println(num);
        //调用方法键盘输入小数
        double money=getDoubleFromConsole("请输入你还有多少钱:");
        System.out.println(money);
        //调用方法键盘输入字符串
        String str=getStrFromConsole("请输入你喜欢做什么:");
        System.out.println(str);
    }
    /**
        键盘输入整数
    */
    public static int getIntFromConsole(String tips){
        //工具方法,创建对象
        java.util.Scanner scan=new java.util.Scanner(System.in);
        System.out.println(tips);
        int num=scan.nextInt();
        return num;
    }
    /**
        键盘输入小数
    */
    public static double getDoubleFromConsole(String tips){
        //工具方法,创建对象
        java.util.Scanner scan=new java.util.Scanner(System.in);
        System.out.println(tips);
        double num=scan.nextDouble();
        return num;
    }
    /**
        键盘输入字符串
    */
    public static String getStrFromConsole(String tips){
        //工具方法,创建对象
        java.util.Scanner scan=new java.util.Scanner(System.in);
        System.out.println(tips);
        String str=scan.next();
        return str;
    }
}

3.字符串

string 为字符串,存在大量的已经编写的方法

1) equals() 比较内容==比较地址值

equalsIgnoreCase(String anotherString) 比较内容可以忽略大小写

2)length() 长度

3)trim() 去除二边的空格

4)replaceAll() 替换

5)indexOf() 查找子串出现的位置

6)substring() 获取子字符串

/**
    字符串方法
*/
public class Tool04{
    //入口点
    public static void main(String [] args){
        //优化的写法
        String msg1="hello world";
        String msg2="hello world";
        String msg3="hello WOrld";
        //1.比较内容equals()
        boolean flag=msg1.equals(msg3);
        System.out.println(flag);//false
        flag=msg1.equalsIgnoreCase(msg3);
        System.out.println(flag);//true
        //2.长度length()
        int len=msg1.length();
        System.out.pritnln(len);//11
        //3.去除二头空格trim()
        msg1=" very good ";
        String anotherMsg=msg1.trim();
        System.out.println(anotherMsg);//very good
        //4.替换 replaceAll
        msg1=" very good ";
        //空格换成*
        anotherMsg=msg1.replaceAll(" ","*");
        System.out.println(anotherMsg);
        //5.找位置 如果没有 返回-1 indexOf()
        msg1="abc123456an";
        int idx=msg1.indexOf("123");
        System.out.println(idx);
        idx=msg1.indexOf("a",2)
        System.out.pritln(idx);
        //6.获取子串 substring()
        String sub=msg1.substring(0,3);//[0,3)
        system.out.println(sub);
        sub=msg1.substring(2);//[0,length())
        System.out.println(sub);
    }
    
}

四、模拟用户登录

1.案例

模拟用户登录

1)用户输入

2)判断:登录 用户名:xiaoxiao 密码:123456

3)输出提示信息

/**
    用户登录
*/
public class Login{
    //入口点
    public static void main(String [] args){
        //接受用户输入
        String uname=getStrFromConsole("请输入用户名:");
        String upwd=getStrFromConsole("请输入密码:");
        //登录
        boolean isSuccess=login(uname,upwd);
        //输出提示信息
        String result=isSuccess?"欢迎回来":"账号或密码错误,请确定再重新输入";
        System.out.println(result);
    }
    /**
        键盘输入字符串
    */
    public static String getStrFromConsole(String tips){
        //工具方法,创建对象
        java.util.Scanner scan=new java.util.Scanner(System.in);
        System.out.print(tips);
        String msg=scan.next();
        return msg;
    }
    /**
        登录
    */
    public static boolean login(String uname,String upwd){
        boolean flag=uname.equals("xiaoxiao") && upwd.equals("123456");
        return flag;
    }
}
​
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值