Java教程

Java基础(一)

本文主要是介绍Java基础(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java基础(一)

  • 包(Package)
  • 数据类型
  • 引用类型
  • 逻辑运算符
  • 条件语句、循环语句(和js基本一样,这里就不总结了)
  • 数组
    • 创建方式
    • 数组的内存特征
    • 数组遍历
    • Arrays工具类
    • 二维数组
  • 方法
    • 方法类型
    • 方法重载

包(Package)

1.包可以帮助我们给项目划分模块
2.帮助我们给不同的代码文件进行分类
3.可以解决同名源文件的命名冲突问题,在不同的包下可以有同名的代码文件
注:java中的类的文件名首字母需要大写

数据类型

整型:byte、short、int、long
占用字节:1,2,4,8

float (单精度浮点数)精确到小数点后7位(后缀需要有f或者F,告诉java,以float存储一个数据)
占用字节:4

double (双精度浮点数类型)是单精度浮点数的两倍
占用字节:8

boolean (布尔类型),数值只有true和false

char(字符型)
占用字节:2

引用类型

1.String(字符串型),注意:String首字母必须大写,与char不同,char的值用单引号,String需要用双引号

2.数组

逻辑运算符

&:与运算符
|:或运算符
&&:短路与运算:前面的为false,后面的就不会再运算,结果直接为false
||:短路或运算:前面的为true,后面的就不会再运算,结果直接为true
!:非运算
^:异或运算,相同为false,不同则为true

条件语句、循环语句(和js基本一样,这里就不总结了)

数组

特征:
1.数组的长度是创建时候已经固定好了的,如果数据装满了,还想追加元素,就只能创建一个新的数组,将原来的数组中的元素传递进去
2.数组之间互相赋值,赋的是堆内存中数组的地址

创建方式

1.静态创建(内部数据已经确定)
创建语法一:

//数据类型[] 数组名 = {数据}
int[] num = {10, 20, 30, 40};
System.out.println(num[0]);

创建语法二(创建麻烦,不推荐):

//数据类型[] 数组名 = new 数据类型[]{数据}
int[] num = new int[]{10, 20, 30, 40};
System.out.println(num[0]);

2.动态创建(数组创建时只能确定数据的个数,还不确定内部的数据)

// 数据类型 数组名(标识符) = new 数据类型[数据个数];
int[] num = new int[10];

数组的内存特征

栈内存(主要用于执行方法),生产车间
1.栈内存上实际存储的是首元素的引用地址
2.栈内存存储机制其实是引用堆内存中的数据
堆内存(用于存储大量数据),原料仓库

数组遍历

foreach遍历(书写简单,没有索引)

//for(临时变量: 数组名){}
int[] num = {10, 20, 30, 40};
        for (int a:num) {
            System.out.println(a);
        }

普通for循环遍历(传统for循环遍历,书写稍复杂,拿到索引比较容易)

int[] num = {10, 20, 30, 40};
        for (int index = 0;index < num.length;index++){
            System.out.println(num[index]);
        }

Arrays工具类

Arrays工具类封装了一些对数组处理的方法
sort方法:按照增序排序数组

        int[] num = {534, 234, 345, 10, 20, 30, 40};
        Arrays.sort(num);
        for (int x:num
             ) {
            System.out.print(x + "\t");
        }

binarySearch方法:找到指定元素的索引(使用之前,必须要保证数组是升序的)

        int[] num = {534, 234, 345, 10, 20, 30, 40};
        int index = Arrays.binarySearch(num, 40);
        System.out.println(index);

toString方法:遍历数组,返回一个字符串

        int[] num = {534, 234, 345, 10, 20, 30, 40};
        /*快速的遍历数组,toString*/
        String newArr = Arrays.toString(num);
        System.out.println(newArr);

copyOf方法:复制数组

        int[] num = {534, 234, 345, 10, 20, 30, 40};
        int[] newArr = Arrays.copyOf(num, 6);
        System.out.println(Arrays.toString(newArr));

另外一种复制数组的方法 System.arraycopy():

		int[] num = {534, 234, 345, 10, 20, 30, 40};
        int[] newArr = new int[10];
        System.arraycopy(num, 3, newArr, 2, 4);
        //3代表被复制数组的开始索引,2代表复制的目标数组的开始索引,4代表复制的长度
        System.out.println(Arrays.toString(newArr));

二维数组

数组作为数组元素类型的数组

//        二维数组的创建
        int[][] arr = {{1, 2, 3, 4, 5},{45, 76, 9, 8, 6}};

二维数组的遍历:

//        二维数组的创建
        int[][] arr = {{1, 2, 3, 4, 5},{45, 76, 9, 8, 6}};
//        二维数组的遍历
        for (int i = 0; i < arr.length; i++){
            for (int j = 0; j < arr[i].length; j++){
                System.out.print(arr[i][j] + "\t");
            }
            System.out.println();
        }
//        foreach遍历
        for (int[] x:arr) {
            for (int y:x) {
                System.out.print(y + "\t");
            }
            System.out.println();
        }

方法

public:访问修饰符,控制方法的适用范围(public公共的,整个项目任意位置都可以使用,private私有的,只能在当前类中使用)

static:静态

void:方法的返回值类型,当前方法运算的结果是什么,void不返回结果

main:方法名,方法的标识符

创建方法及调用:

    public static void main(String[] args) {
        System.out.println(sum(60,80));
    }
    public static int sum(int a, int b){
        System.out.println("方法被执行了");
        int sum = a + b;
        return sum;
    }

方法类型

静态方法:有static修饰
实例方法:没有static修饰

方法重载

定义:方法名相同时,根据传递的参数匹配类似的方法
在java中,存在方法重载
js中不存在方法重载,因为后定义的方法回覆盖前定义的

这篇关于Java基础(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!