JAVA 基础

JAVA 基础

数据类型

  1. 基本类型

  2. 引用类型

  • 基本数据类型

    1. 数值类型
    2. Boolean类型
  • 引用数据类型

    1. 接口
    2. 数组
public class Demo01 {
    public static void main(String[] args) {
        int num1 = 10;
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;
        float num5 = 50.1F;
        double num6 = 3.1415926535879;
        char name = 'A';
        String str = "name";
        boolean flag = true;
    }
}

字节

  • 位 bit
  • 字节 Byte

1 B = 8 bit

1024 B = 1 KB

1024 KB = 1 M

字符:计算机使用的字母、数字、字、符号

电脑32位和64位的区别?

进制

  • 二进制 0b
  • 十进制
  • 八进制 0
  • 十六进制 0x

编码

Unicode 0 - 655536

u0000 - uFFFF

类型转换

public class Demo02 {
    public static void main(String[] args) {
        int i =128;
        byte b = (byte)i; //强制转换,内存溢出-128
        System.out.println(i);
        System.out.println(b);
    }
}

变量

type varName [=value] [{,varName[=value]}];

作用域

  1. 类变量
  2. 实例变量
  3. 局部变量
public class Demo03 {

    String name; //实例变量
    int age;
    boolean flag;
    static double salary = 2500; //类变量
    static final double PI = 3.14; //常量

    public static void main(String[] args) {
        int i = 10; //局部变量
        System.out.println(i);
        Demo03 demo03 = new Demo03();
        System.out.println(demo03.age);
        System.out.println(demo03.flag);
        System.out.println(demo03.name);
        System.out.println(salary);
        System.out.println(PI);
    }
    public int add(int x, int y){
        return(x + y);

    }

}

命名规范

  • 英文,有意义
  • 类变量局部变量 首字母小写,驼峰原则
  • 类名 首字母大写,驼峰原则
  • 常量 字母大写和下划线
  • 方法名 首字母小写驼峰原则

运算符

  • / 注意类型转换

算数运算符、逻辑运算符、关系运算符、赋值运算符、位运算符、条件运算符、扩展赋值运算符

public class Demo01 {
    public static void main(String[] args) {
        int a = 1;
        int b = a++;
        System.out.println("a = "+a);
        System.out.println("b = "+b);
        int c = ++a;
        System.out.println("a = "+a);
        System.out.println("c = "+c);
    }
}
a = 2
b = 1
a = 3
c = 3

Scanner

import java.util.Scanner;

public class Demo01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收: ");
        if (scanner.hasNext()){
            String str = scanner.next();
            System.out.println("输入的内容为: "+ str);
        }
        scanner.close();
    }
}

next不能带有空格

nextLine以Enter为结束符

import java.util.Scanner;

public class Demo02 {
    public static void main(String[] args) {
        int i = 0;
        float f = 0.0f;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数: ");
        if (scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整数为: "+i);
        }else{
            System.out.println("输入的不是整数!");
        }
        System.out.println("请输入小数: ");
        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数为: "+f);
        }else {
            System.out.println("输入的不是小数!");
        }
        scanner.close();
    }
}
public class Demo03 {
    public static void main(String[] args) {
        double sum = 0;
        int m = 0;
        double x;
        Scanner scanner =  new Scanner(System.in);
        while (scanner.hasNextDouble()){
            x = scanner.nextDouble();
            m++;
            sum += x;
        }
        System.out.println(m + "个数字的和为: "+ sum+" ,平均值为:"+ sum/m);

        scanner.close();
    }
}

流程控制

顺序结构

选择结构

  • if
  • switch
if单选择结构

if(布尔表达式){

//表达式为true

}

import java.util.Scanner;

public class IfDemo01 {
    public static void main(String[] args) {
        System.out.println("请输入内容:");
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        if (s.equals("Hello")){
            System.out.println(s);
        }
        System.out.println("END");
        scanner.close();
    }
}
public class Demo04 {
    public static void main(String[] args) {
        int i = 1 ;
        int j = i++;
        if ((i==(++j))&&((i++))==j){
            i+=j;
        }
        System.out.println("i="+i);//5
    }
}
if双选择结构

if(布尔表达式){

//表达式为true

}else{

//表达式为false

}

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {
        System.out.println("请输入成绩:");
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();
        if (score >= 60){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
        scanner.close();
    }
}
if多选择结构

if(布尔表达式1){

//表达式1为true

}else if(布尔表达式2){

//表达式2为true

}else{

//以上表达式均为false

}

import java.util.Scanner;

public class IfDemo03 {
    public static void main(String[] args) {
        System.out.println("请输入成绩:");
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();
        if (score<=100 && score>=90){
            System.out.println("优秀");
        }else if (score>=70 && score < 90){
            System.out.println("良好");
        }else if (score>=60 && score<70){
            System.out.println("及格");
        }else if (score>=0 && score <60){
            System.out.println("不及格");
        }else{
            System.out.println("请输入0-100分成绩");
        }
        scanner.close();
    }
}
if嵌套结构
public class ForDemo01 {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j+" * "+ i +"= "+i*j+"\t");
            }
            System.out.println("");
        }
    }
}

遍历数组

public class ForDemo02 {
    public static void main(String[] args) {
        int[] numbers = {10,20,25,30};
        for(int i:numbers){
            System.out.println(i);
        }
    }
}

break\continue

数组

相同类型的有序集合

dataType[] arrayRefVar;

dataType[] arrayRefVar = new dataTypeRefVar[arraySize];

数组索引从0开始

获取长度 arrays.length

public class ArrayDemo {
    public static void main(String[] args) {
        int[] numbers; //声明变量
//    int numbers[];
        numbers = new int[10]; //创建数组
        numbers[0] = 1;
        numbers[1] = 2; //赋值
        numbers[2] = 3; //赋值
        numbers[3] = 4; //赋值
        numbers[4] = 5; //赋值
        numbers[5] = 6; //赋值
        numbers[6] = 7; //赋值
        numbers[7] = 8; //赋值
        numbers[8] = 9; //赋值
        numbers[9] = 10; //赋值

//        System.out.println(numbers[8]);
        int sum = 0;
        for (int i =0 ; i < numbers.length;i++) {
            sum = sum + numbers[i];

        }
        System.out.println(sum);

    }

}
public class ArrayDemo01 {
    public static void main(String[] args) {
        //静态初始化
        int[] a = {1, 2, 3}; //创建+赋值
        //动态初始化,隐式初始化
        int[] b = new int[10];
        b[0] = 10;
    }
}
public class ArrayDemo02 {
    public static void main(String[] args) {
        int[] arrays = {1, 2, 3, 4,5};
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
        int sum = 0;
        for (int i = 0; i < arrays.length; i++) {
            sum = sum + arrays[i];
        }
        System.out.println(sum);
        int max = arrays[0];
        for (int i = 1; i < arrays.length; i++) {
            if (arrays[i]>max){
                max =arrays[i];
            }
        }
        System.out.println(max);
        for (int array : arrays){
            System.out.println(array);
        }
        int[] reverse = reverse(arrays);
        printArray(reverse);
    }
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
    }
    public static int[] reverse(int[] arrays){
        int[] result = new int[arrays.length];
        for (int i = 0,j=result.length-1 ; i < arrays.length ; i++, j--) {
            result[j] = arrays[i];

        }
        return  result;
    }
}
多维数组
public class ArrayDemo03 {
    public static void main(String[] args) {
        int[][] array = {{1,2},{2,3},{3,4},{4,5}};
        System.out.println(array[0]);
        System.out.println(array[0][1]);
        printArray(array[0]);
        System.out.println(array.length);
        System.out.println(array[0].length);
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.println(array[i][j]);
            }
        }
    }
    public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
    }
}
Arrays类
import java.util.Arrays;

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] a = {1,2,3,4,5677,3457,1124};
        System.out.println(a);
        //打印数组元素
        System.out.println(Arrays.toString(a));
        //排序
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));
    }
}
冒泡排序
import java.util.Arrays;

public class ArrayDemo05 {
    public static void main(String[] args) {
        int[] a = {1,5,2,56,78,34,467,43};
        int[] sort = sort(a);
        System.out.println(Arrays.toString(a));
    }
    public static int[] sort(int[] array){
        int temp = 0;
        for (int i = 0; i < array.length-1; i++) {
            for (int j = 0; j < array.length-1-i; j++) {
                if (array[j]>array[j+1]){
                    temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                }
            }
        }
        return array;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值