即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

Java语言学习和进阶学习和进阶笔记(八)

编程语言 yangruxi 17℃ 0评论
本文目录
[隐藏]

1.基本数据类型包装类

1.为了方便基本类型的数据做更多的操作,java就针对每种基本数据类型给出了对应的类类型,这就是我们所说的基本类型的包装类。


这里写图片描述

2.Integer类型


-字段:


MAX_VALUE:值为2^31-1的常量,它表示int类型能够表示的最大值。


MIN_VALUE:值为-2^31的常量,它表示int类型能够表示的最小值。

-构造方法:


Integer(int value):构造一个新分配的Integer对象,它表示指定的int值。


Integer(String s):构造一个新分配的Integer对象,它表示String参数所指示的int值。(注意:这里的字符串必须是由数字组成的字符串)

-各种成员方法:


toBinaryString(int i):以二进制(基数2)无符号指数形式返回一个整数参数的字符串表示形式。


toOctalString(int i):以八进制(基数8)无符号指数形式返回一个整数参数的字符串表示形式。


toHexString(int i):以十六进制(基数16)无符号指数形式返回一个整数参数的字符串表示形式。

int和String类型的相互转换:


int—>String:


方式1:String s = 100+“”;


方式2:String.valueOf(int);


方式3:Integer.toString(int);

String—>int:


Integer.parseInt(String);

JDK5的新特性


自动装箱:基本类型—-包装类类型


Integer.valueOf(int);


自动拆箱:包装类类型—-基本类型


i.intValue();

3.Character类型


Character类在对象中包装一个基本类型char的值。


-构造方法:


public Character(char value)

-成员方法:


public static boolean isUpperCase(char ch):判断是否是大写字符


public static boolean isLowerCase(char ch):判断是否是小写字符


public static boolean isDigit(char ch):判断是否是数字


public static char toUpperCase(char ch):转成大写


pubic static char toLowerCase(char ch):转成小写

需求:键盘录入一个字符串中大写字母字符,小写字母字符,数字字符出现的次数。

package com.edu.character;
import java.util.Scanner;
public class CharacterTest {
    public static void main(String[] args) {
        //创建键盘录入对象,录入数据
        Scanner sc = new Scanner(System.in);

        //录入字符串数据
        String str = sc.nextLine();

        //将字符创转换为字符数组
        char[] chs = str.toCharArray();

        //遍历数据拿出每一个字符进行if判断
        int bigChar = 0;
        int smallChar = 0;
        int number = 0;

        for (int i = 0; i < chs.length; i++) {
            //System.out.println(chs[i]);
            if (Character.isUpperCase(chs[i])) {
                bigChar++;
            }
            if (Character.isLowerCase(chs[i])) {
                smallChar++;
            }
            if (Character.isDigit(chs[i])) {
                number++;
            }
        }

        System.out.println("大写字符出现的次数"+bigChar);
        System.out.println("小写字符出现的次数"+smallChar);
        System.out.println("数字字符出现的次数"+number);

    }

}

4.Math:用于执行数学运算的类


成员方法:


public static int abs(int a):取绝对值


public static double ceil(double a):向上取整


public static double floor(double a):向下取整


public static int max(int a,int b) :取较大值


public static double pow(double a,double b):a的b次方


public static double random():产生0到1之间的随机数


public static int round(float a):四舍五入

需求:写一个猜数字小游戏。

package com.edu.math;
import java.util.Scanner;
public class GuessNumber {
    public static void main(String[] args) {
        //生成随机数
        int ran = (int) (Math.random()*100+1);
        //创建键盘录入对象,并获取键盘录入数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你猜测的数字:");
        int guessNumber = sc.nextInt();
        while (true) {
            //进行判断并给予提示
            if (ran>guessNumber) {
                System.out.println("小了!请继续输入:");
                guessNumber=sc.nextInt();
            }

            if (ranout.println("大了!请继续输入:");
                guessNumber=sc.nextInt();
            }

            if (ran==guessNumber) {
                System.out.println("恭喜你答对了!");
                break;
            }

        }

    }

}

5.Object:是所有类的根类。所有的类都直接或间接继承自该类。


-创建学生对象打印学生对象的地址值(本质上是将地址值通过哈希算法算出的哈希值)。


注意:


–同一个对象的哈希值是一样的。


–哈希值一样的对象地址值未必一样。

-重写toString方法:


toString():在默认情况下,打印的是对象的字符串表示,意义不大:


包名…类名+@+该对象哈希值的十六进制


所以,建议子类重写toString方法,自动生成即可,表示该对象的数据:


[类名 成员变量1=数据值1,成员变量2=数据剧值2,…]

-重写equals方法:


equals():在默认情况下,比较的是地址值,没有意义,所以,建议子类重写该方法,自动生成即可。

-==和equals()的区别:


第一:==的作用


–基本类型 数据值


–引用类型 地址值


第二:equals()


–只能比较引用类型,默认比较地址值


–如果重写了,按照重写后的规则进行

6.Scanner:帮助我们从键盘获取数据。


-构造方法:


Scanner(InputStream source)


Scanner sc = new Scanner(System.in);


注意:System.in:in是System类下的一个静态的成员变量。

-成员方法:


int nextInt():获取int类型的数据


String nextLine():获取String类型的数据


异常:InputMismatchException:输入的数据和最终的结果类型不匹配。所以要什么类型就输入什么类型。

-当为同一个Scanner对象,数据的输入顺序问题:


String,String


String,int


int,int


int,String


当先int再String就会出现问题。


解决:


第一种:把所有数据都按照int输入,将来需要什么类型,就把String类型转换成什么类型。


第二种:创建一个新对象。

7.Random:用于产生随机数的类。和种子相关(种子可以看作一个产生随机数的规则)。


-构造方法:


Random():没有种子,采取的是默认种子。


Random(long seed):可以指定种子,种子相同,产生的随机数相同。

需求:利用有无种子的方式创建对象,使用for循环产生十个随机数。

public class RandomDemo{
    public static void main(String[] args){
        Random d = new Random();
        for(int i=0;i<10;i++){
            System.out.println(d.nextInt());
        } 
    }
}

-成员方法:


public int nextInt():返回int范围内的数据。


public int nextInt(int n):返回[0,n)之间的数据。


得到1-100之间的随机数:

new Random().nextInt(100)+1;

8.System:System类包含一些有用的字段和方法,它不能被实例化。


-成员方法:


public static void exit(int status):终止当前正在运行的 Java 虚拟机。根据惯例,非 0 的状态码表示异常终止。


public static long currentTimeMillis():获取当前时间的毫秒值。


public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):复制数组


参数一:要复制的源数组


参数二:从源数组那个索引开始复制


参数三:需要复制到哪个数组中


参数四:从哪个索引开始进行覆盖


参数五:需要覆盖几个元素

9.Date:类Date表示特定的瞬间,精确到毫秒。


-构造方法:


Date():默认获取的是当前的日期时间。


Date(long date):把当前的日期按照指定的毫秒值进行设定。

-成员方法:


public long getTime():获取日期对象的毫秒值。


public void setTime(long time):设置日期对象的毫秒值。

10.DateFormat:格式化和解析日期对象。


-格式化:Date—>String


String format(Date d)


-解析:String—>Date


Date parse(String s)

-构造方法:


SimpleDateFormat():用默认的模式格式化日期对象。


SimpleDateFormat(String pattern):用给定的模式格式化日期对象。


例如:


yyyy年MM月dd日 HH:mm:ss


yyyy-MM-dd HH:mm:ss

-成员方法:


public final String format(Date date):将一个Date格式化为日期/时间字符串。


public Date parse(String source)throws ParseException:从给定字符串的开始解析文本,以生成一个日期对象。

日期工具类DateUtils


需求:


1.让外界无法创建这个类的对象


2.设置的方法直接可以通过类名调用


3.可以获取 yy年MM月dd日


4.可以获取 HH:mm:ss


5.可以获取 yy-MM-dd HH:mm:ss

public class DateUtils {
    //私有化构造
    private DateUtils(){}

    //可以获取 yy年MM月dd日
    public static String getDate(){
        //创建日期对象
        Date d = new Date();
        //创建日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yy年MM月dd日");
        //调用方法格式化日期对象
        String dateStr = sdf.format(d);
        return dateStr;
    }


    //可以获取 HH:mm:ss
    public static String getTime(){
        //创建日期对象
        Date d = new Date();
        //创建日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        //调用方法格式化日期对象
        String dateStr = sdf.format(d);
        return dateStr;
    }


    //可以获取 yy-MM-dd HH:mm:ss
    public static String getDateTime(){
        //创建日期对象
        Date d = new Date();
        //创建日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
        //调用方法格式化日期对象
        String dateStr = sdf.format(d);
        return dateStr;
    }

}

转载请注明:CodingBlog » Java语言学习和进阶学习和进阶笔记(八)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情