Java基础01-语法基础

基础

Java虚拟机在执行Java程序时会将内存划分为若干个不同的数据区域,主要有

  • PC寄存器(Program Counter Register):存储Java虚拟机正在执行的字节码指令的地址
  • Java虚拟机栈(Java Virtual Machine Stack):存储栈帧
  • 堆(Heap):存储GC所管理的各种对象
  • 方法区(Method Area):存储每一个类的结构信息(比如字段和方法信息、构造方法和普通方法的字节码等)
  • 本地方法栈(Native Method Stack):用来支持native方法的调用(比如用C语言编写的方法)
1.Java的数据类型有2种
  • 基本类型:byte / char / short / int / long / float / double / boolean
  • 引用类型:数组,对象,集合 等
//基本数据类型
    public int age;
    protected float weight;
    float height;
    private float salary;
    public static int count;
//数组
    String[] arr = {"1","2","3"};
    int[] arr2 = new int[3];//为数组分配存储空间
    int[] arr3 = new int[]{1,2,3};
2.方法
  • 栈帧

    • 栈帧随着方法的调用而创建,随着方法结束而销毁,存储了方法的局部变量信息。
  • 递归调用

    • 如果递归调用没有终止,将会一直消耗栈空间
    • 最终导致栈内存溢出(Stack Overflow)
    • 所以必需要有一个明确的结束递归的条件;也叫做边界条件,递归基
  • 方法

//可变参数 可变参数,必须放最后
    public static int sum(int... numbers) {
        if (numbers == null) {
            return 0;
        }

        int result = 0;
        for (int num :numbers) {
            result += num;
        }
        return result;
    }
 /**
 * 方法重载 一个类中可以写多个相同方法名的方法
 * 与返回值无关
 * 1.多个方法在同一个类中
 * 2.多个方法具有相同的方法名
 * 3.多个方法的参数不相同,类型不同或者数量不同
 * 即方法签名(方法名+参数)不同
 * */
    public static int sum(int a,int b) {
        return a+b;
    }
    public static double sum(double a,double b) {
        return a+b;
    }
3.判断
public static void  score(){
//if else
        boolean b = false;
        if (b){
            System.out.println(1);
        }else {
            System.out.println(0);
        }
//switch
        int number1 = 1;
        switch (number1) {
            case 1:
                System.out.println(number1);
                break;
            case 2:
                System.out.println(2);
                break;
            default:
                break;
        }
4.循环
public static void  score(){
//while
        int i = 10;
        while (i>0) {
            System.out.println(i);
            i--;
        }
//do while
        do {
            System.out.println(i);
            i++;
        }while (i>3);
//for
        for (int j = 5; j < 10; j++) {
            System.out.println(j);
            j++;
        }
        
//遍历数组
        String[] strs = {"aaa", "bbb","ccc","ddd"};
        for (String objstr:strs){
            System.out.println(objstr);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值