java基础

注释

 //单行注释
        /*
         可以注释多行
         可以注释多行
         可以注释多行
       */

关键字与标识符

以下是Java的关键字不能用来作为变量名

Java变量名不能以数字开头,标识符区分大小写,不建议用中文

数据类型

Java是强类型语言要求变量必须定义后使用

基本数据类型大小

在这里插入图片描述

Java数据类型图

在这里插入图片描述

引用类型在传递和赋值的时候是本身而不是拷贝

基本数据类型在传递赋值的时候会发生拷贝一份单独的

数据类型转换

如果强制转换会丢失准确性很危险

如果小数转换整数会丢失精度 (小数点后面的数字)

在这里插入图片描述

字符类型扩展和转义符

在这里插入图片描述

变量

作用域

在这里插入图片描述

常量

常量有final修饰 赋值后不能修改

在这里插入图片描述

运算符

在这里插入图片描述
在这里插入图片描述

javaDoc文档

在这里插入图片描述

在这里插入图片描述

终端命令生产api文档打开index.html文件

在这里插入图片描述

读取输入对象Scanner

在这里插入图片描述

流程控制

String p = "男";
if (p.equals("女"))
    System.out.println("女");
else if (p.equals("人妖"))
    System.out.println("人妖");
else
    System.out.println("男");

//3个循环的[1-100]
for (int i = 1; i <= 100; i++) {
    System.out.println(i);
}

int i = 1;
while (i <= 100) {
    System.out.println(i++);
}

int t = 1;
do {
    System.out.println(t++);
} while (t <= 100);


//break,continue
for (int k = 1; k <= 100; k++) {
    if (k % 2 == 0)
        continue;//跳过后面所有语句执行下一轮循环
    if (k == 75)
        break;//结束当前循环
    System.out.println(k);
}
go:for (int j = 0; j < 43; j++) {
    System.out.println(j);
    for (int k = 0; k < 23; k++) {
        System.out.println(k);
        for (int l = 0; l < 13; l++) {
            if(l+k+j==74) {
                continue go;//会跳到标签处,继续执行循环
            }
            System.out.println(l);
        }
    }
}

方法

修饰符 方法返回值 方法名 方法参数

xxx xxx xxx(…)异常

在方法传递引用类型时,不会拷贝一份直接使用传入的对象

  public static void main(String[] args) {
        int u = 2;
        fx1(u);  //u的值被改变了传递的是u对象本身,并不会拷贝
        fx2(u);// u不会改变,传递的是u的拷贝,和本体互不影响
    }
    
    public static int fx1(Integer g) {
        //调用此方法会影响传递的对象值
        return g++;
    }

    public static int fx2(int g) {
        //调用此方法不会影响传递的对象值
        return g++;
    }
方法可以重载
 //方法可以重载参数类型不一样,或者参数数量不一样都可以重载
    public int max(int a, int b) {
        return a > b ? a : b;
    }

    public double max(double a, double b) {
        return a > b ? a : b;
    }

    public int max(int a, int b, int c) {
        return max(a, max(b, c));
    }
可接受任意参数的方法
  public int myMax(int a, int b) throws Exception {
        return a > b ? a : b;
    }

    public static void main(String[] args) {
        sum(1,2,3,4,5,6,7,2);
    }

    //一个方法只能有一个可变参数,并且可变参数只能是最后一个参数
    public static int sum(int... numbers) {
        int sm = 0;
        for (int number : numbers) {
            sm += number;
        }
        return sm;
    }
方法可以抛出异常
 //此方法会抛出空指针异常
    public Integer nms(Integer m) throws NullPointerException {
        if (m == null)
            throw new NullPointerException();
        return m;
    }
方法可以是静态的
class MyMath {

    private static int mx = Integer.MAX_VALUE;

    //静态方法不能使用非静态属性,共有的静态方法可以不用创建对象就可以使用 xxx.xxx();
    public static int max(int a, int b) throws Exception {
        if (a > mx || b > mx)
            throw new Exception();
        return a > b ? a : b;
    }
}

数组

 public static void main(String[] args) {
        //如何创建数组
        //静态初始化
        int[] a = {1, 2};
        int[] s = {new Integer(2), new Integer(2)};

        //动态初始化
        int []b=new int[10];

        //多维数组
        //创建时只能留一个不给数量
        int[][][]p=new int[2][3][];

    }

Arrays类

基本用法

 public static void main(String[] args) {
        int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1};

        System.out.println(Arrays.toString(arr));//把数组转换为字符串
        Arrays.binarySearch(arr, 4);//二分查找,返回索引位置,没有找到返回-1
        Arrays.sort(arr);//快速排序算法
        Arrays.parallelSort(arr);//多线程排序算法大规模比较快

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值