Java笔记-基础

本文深入讲解Java数组的初始化与内存分配,介绍Scanner、Random、ArrayList类的使用,解析String类特性及static关键字的作用,适合Java初学者及进阶者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java数组

动态初始化数组(指定长度):
数据类型 [] 数组名称 = new 数据类型[数组长度]

int [] array = new int [10];

静态初始化数组(指定内容):
数据类型 [] 数组名称 = new 数据类型[ ] {…}
静态初始化省略格式
数据类型 [] 数组名称 = {…}

int [] array = new int [] {3,510};

数组一旦创建,长度不可改变、

获取数组长度
array.length

Javas数组内存分配

java内存划分为5个部分
1.栈(stack):存放方法中的局部变量,包括方法的参数或者方法{}内的变量,局部变量一旦超出作用域,就会在栈内存中消失
2.堆(heap):凡是new出来的,都在堆中,堆内存中的东西都有一个16进制地址值,且都有默认值
3.方法去(Method Area):存储.class相关信息,包含方法的信息
4.本地方法栈(Native Method Stack):与操作系统相关
5.寄存器(pc Register):与CPU相关
创建改变一个数组时java内存发生的改变:
栈中用于存放数组地址指向堆,堆中存放new出来的具体数据,方法区存放main方法的相关信息包括输入数据输出数据等
在这里插入图片描述

Java常用API类

Scanner

Scanner.nextint()用于键盘输入整数类型
Scanner.next()用于键盘输入字符串类型

package test.demo02;
import java.util.Scanner;
public class scannerdemo {
    public static void main(String[] args) {
        Scanner sca1 = new Scanner(System.in);
        int num1=sca1.nextInt();
        int num2=sca1.nextInt();
        System.out.println("输入的字段和是:"+ (num1+num2));
    }
}

Random

Random r = new Random();//生成随机整数
Random r = new Random(10);//生成0-9的随机整数

package test.demo02;
import java.util.Random;
public class scannerdemo {
    public static void main(String[] args) {
        Random r = new Random();//生成随机整数
		Random r = new Random(10);//生成0-9的随机整数
        System.out.println("输入的字段和是:"+ (num1+num2));
    }
}

ArrayList

ArrayList长度可以随意变化,ArrayList为泛型,后接<>,相当于C++的模板类,<>中的泛型只能是引用型如String或者是自定义的类
如果想在ArrayList中存储基本类型,必须使用基本类型对应的包装类:
在这里插入图片描述

字符串String类

字符串可以直接创建,或者通过字符数组或者字节数组创建,底层是创建字节数组,直接创建的字符串会存在于字符串常量池中,所以两个值相同的字符串变量保存的是同一个地址,所以他们两相同。但是通过new创建的字符串不存在于字符串常量池中
在这里插入图片描述

static 关键字

用于某类多个对象共享一个数据,静态方法不能访问非静态成员变量,因为内存中是先开辟静态数据再非静态
javac会把对象.数据转换为类.静态数据,访问静态成员变量的时候全程和对象没关系,只和类有关系
静态static内存分配:静态区分配在方法区内
在这里插入图片描述
静态代码块:当第一次调用类时,静态代码块只会执行一次,以后再调用不再执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值