JavaSE

 

JAVA基础中的基础

 

目录

java基础用法

类型

var关键字

函数

转义字符

多行字符串

数组

输出&输入

数组类型

随机数

定义函数

类与对象

封装关键字

关键字ArrayList

权限修饰符

左移与右移

关键字this指代一个(局部变量) 列:this.name = name

继承

重写方法

向下转型错误例子

抽象类

接口

成员内部类

匿名类

API

java标准库提供的函数

1.Math关键字

2.System关键字

Objecet关键字

冒泡排序

Arrays关键字

Integer.valueOf关键字

int=String互相转换

split(里面是分割符)字符串进行分割

Date:日期类

SimpleDateFormat类

Calendar(抽象类)

 


java基础用法

类型

  1. int

  2. long

  3. double

  4. boolean(布尔类型),true,false;

  5. char

  6. final(常量)

  7. String(字符串)

var关键字

有些时候,类型的名字太长,写起来比较麻烦

StringBuilder sb = new StringBuilder();》var sb = new StringBuilder();

函数

求平方根可用》 Math.sqrt():

转义字符

  1. " 表示字符"

  2. ' 表示字符'

  3. \ 表示字符\

  4. \n 表示换行符

  5. \r 表示回车符

  6. \t 表示Tab

  7. \u#### 表示一个Unicode编码的字符

多行字符串

"""..."""(三个引号内都是字符串)

数组

int[] ns = { 68, 79, 91, 85, 62 };

输出&输入

输出:System.out.println();   
      print()——————》println() 加上ln就会实现换行  

输入函数是可以在方法中使用

输入:1.导包import java.tuil.Scanner;
      2.创建对象Scanner sc=new Scanner(System.in);
      3.获取输入内容int i=sc.nextInt();

数组类型

int[] arr=new int[3];

获取数组的元素数量

数组变量.length

随机数

1.导包import java.tuil.Random; ​ 2.创建对象Random r=new Random(); ​

定义函数

public static void 函数名(类型 变量,类型 变量){ ​ 。。。。。内容 ​ } ##数组遍历 两个明确 ​ 1.返回值的类型:void ​ 2.参数:int[] arr

类与对象

类是对象的抽象 对象是类的实体

成员变量和局部变量

封装关键字

关键字privat set与age 通用方法

private int name
set————>public 返回类型

get————>public 赋值类型

关键字StringBuilder
StringBuilder sb = new StringBuilder();
sb.oppend("内容").oppend("内容").oppend("内容");》无限添加
StringBuilder转String------》》String ss = sb.toString加入一个to
sb.reverse()反转

关键字ArrayList<String>

ArrayList<String> line = new ArrayList<String>();
line.remo()>>删除数组元素
line.add()>>添加数组元素
line.remove()>>删除指定索引元素
line.get()>>返回索引元素·

关键字 private>>私有的
被private修饰的变量只能在本类中访问
关键字  final常量修饰符
关键字  static共享变量修饰符

 

权限修饰符

左移与右移

十进制数转二进制然后在进行(移位)最后在转回十进制

关键字Srting
new 的对象和另一个new 的对象是(不相等的)
而直接赋值的Srting和另一个指向的(地址完全相等)但要内容一样

关键字this
指代一个(局部变量) 列:this.name = name

继承

格式>>puplic class 子类名 (继承)extends 父类名{}
 

多态

重写方法

父类 a = new 子类 ​ a.变量 = 父类中的变量 ​ 访问成员方法>>访问的是子类中的方法

向上转型 父类 (变量a) = new 子类

向下转型=强制转换 子类 (变量b) = (变量a)子类

 

向下转型错误例子

虽然两个子类都指向父类 但是两个子类之间是没有联系的

抽象类

接口

关键字 implements

类名 implements(实现接口)接口(单词记忆)

  1. 接口中不能构造方法
  2. 接口中的成员变量默认被final
  3. 接口中是不能有非抽象方法的

类与接口的关系

类里面可以继承一个类和多个接口 public class 类名 继承(extends) 祖宗(Object) 链接接口(implements) 接口1,接口2,接口3{}

接口与接口的关系

接口和接口是继承关系: 一个接口可以继承多个或一个接口 public class 接口名 继承(extends) 接口1,接口2,接口3{}

 

成员内部类

格式 外部类名.内部类名 对象名 = 外部类对象.内部类对象;

范例 外部类名.内部类名 对象名 = new 外部对象名.new 内部对象名;

匿名类

【格式 new 类名(){方法}.方法】——————>>>这是对象调了方法

 

API

java标准库提供的函数

1.Math关键字

2.System关键字

测试程序的运行时间

1.终止程序
System.exit

2.测试程序的运行时间
 long re = System.currentTimeMillis();
        long s = 0;
        for (int i = 0; i < 1000000000; i++) {
            s += i;
        }
        long rs = System.currentTimeMillis();
        long ee = rs - re;
        System.out.println(ee+"毫秒");

Objecet关键字

1.子类重构(祖类)的构造方法
 @Override
    public String toString() {
        return "objecet{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

冒泡排序

for (int j = 0; j < arr.length - 1; j++) {
            for (int i = 0; i < arr.length - 1 - j; i++) {
                int max;
                if (arr[i] < arr[i + 1]) {   //有第一个和二个进行比较
                    max = arr[i];			//若第二个大于第一个进入三个杯子转换
                    arr[i] = arr[i + 1];
                    arr[i+1] = max;
                }
            }
        }

Arrays关键字

int[] arr = {1, 22, 45, 679, 22, 33, 44, 55, 66};
        System.out.println("遍历前" + Arrays.toString(arr));
        Arrays.sort(arr);
        System.out.println("遍历后" + Arrays.toString(arr));

Integer.valueOf关键字

主要用于类型之间互相转换

System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
包装类.MAX_VALUE

	Integer i1 = new Integer(100);		//已经过时了
        	System.out.println(i1);     //已经过时了
        System.out.println("*******************************************");
    Integer i3 = Integer.valueOf(900);  //装箱操作
        	System.out.println(i3

int=String互相转换

 		 int a = 100;
        String s1 = "" + a;
        //int转String类型
        String l = String.valueOf(a);
        System.out.println(a);
        System.out.println("-------------------------");
        
        
        //String转int类型
        String s = "100";
        //public static Integer valueOf(String s)
        int i = Integer.valueOf(s);
        System.out.println(i);
        System.out.println("--------------------");
        int q = Integer.valueOf(s).intValue();
        System.out.println(q);

split(里面是分割符)字符串进行分割

 String s = "91 27 46 38 50";
        String[] array = s.split(" ");    //字符串进行分割

        int[] arr = new int[array.length];      //定义数组

        for (int i = 0; i < array.length; i++) {  //String数组转int数组
            arr[i] = Integer.parseInt(array[i]);
        }
        Arrays.sort(arr);  //数组排序

        for (int i=0; i<arr.length; i++) {
            StringBuilder sb = new StringBuilder();
            if (i > arr.length - 1) {
                sb.append(arr[i]);
            } else{
                sb.append(arr[i]).append(" ");
        }
            String reut = sb.toString();
            System.out.print(reut);
    }

Date:日期类

1秒 = 1000毫秒

//分配一个 Date对象并对其进行初始化,以便它表示分配的时间,以最接近的毫秒为单位。   

	Date d = new Date();
        System.out.println(d);

        long date = 1000 * 60 * 60;

        Date d2 = new Date(date);     
        System.out.println(d2);  
            //本来应该是 01:00:00结果是09:00:00
                          //因为东南区我们是
         



        Date d = new Date();
        System.out.println(d.getTime()*1.0/1000/60/60/24/365+"年");
        //返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒数。 
        long tem = 1000*60*60;
        d.setTime(tem);
        System.out.println(d);
	    //设置此 Date对象以表示1970年1月1日00:00:00 GMT之后的 time毫秒的时间点。 

yyyy:年

MM:月

dd:日

hh:1~12小时制(1-12)

HH:24小时制(0-23)

mm:分 ss:秒 S:毫秒

E:星期几

D:一年中的第几天

F:一月中的第几个星期(会把这个月总共过的天数除以7)

w:一年中的第几个星期

W:一月中的第几星期(会根据实际情况来算)

a:上下午标识 k:和HH差不多,表示一天24小时制(1-24)。

K:和hh差不多,表示一天12小时制(0-11)。

z:表示时区

SimpleDateFormat类

  • 用于以区域设置敏感的方式格式化和解析日期

//Format是用于格式化区域设置敏感信息(如日期,消息和数字)的抽象基类。
 Date d = new Date();
        SimpleDateFormat adf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

        System.out.println(d.getTime());//1619517446324
        String ss = adf.format(d.getTime());
        System.out.println(ss);			//2021年04月27日 17时57分26秒

//parse从字符串中解析文本以产生一个 Date 。
  String s = "2001-12-12 12:12:21";
        SimpleDateFormat adf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        adf2.parse(s);
        System.out.println(s);//2001-12-12 12:12:21

Calendar(抽象类)

返回给定日历字段的值

    Calendar c = Calendar.getInstance();
        System.out.println(c);
        int year = c.get(Calendar.YEAR);
        int march = c.get(Calendar.MARCH)+1;
        int date = c.get(Calendar.DATE);
        //get(int field) 返回给定日历字段的值。
 System.out.println(year+"年"+march+"月"+date+"日");
//2021年4月29日
		c.add(YEAR,-10);//在给定时间字段上添加或减少单个时间单位,而不改变较大的字段
        c.set(1987,1,1);//将给定的日历字段设置为给定的值。 

 

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Carl_Go

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

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

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

打赏作者

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

抵扣说明:

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

余额充值