Java学习笔记(二)
快捷方法生成
| psvm >> public static void main(String[] args){} |
| |
| main >> public static void main(String[] args){} |
| |
| sout >> System.out.println(); |
| |
| i.sout >> System.out.println(i); |
| |
| i.soutv >> System.out.println("i = " + i); |
| |
| fori >> for (int i = 0; i < ; i++) {} |
| |
| iter >> for (String arg : args) {} |
| |
| ifn >> if (i = null) {} |
| |
| inn >> if (i != null) {} |
| |
| i.cast >> 强制类型转换 |
Scanner—键盘录入 & Random—随机数
| Scanner是Java定义好的一个类,用于将数据通过键盘录入的形式放到代码中参与运行,位置在java.util(这是个包) |
| |
| 使用: |
| 1.导包(类似引用函数库) |
| import java.util.Scanner |
| *但是此步骤在idea中在创建对象时就已经自动完成导入,所以可以直接忽略 |
| |
| 2.创建对象 |
| Scanner 变量名 = new Scanner(System.in); |
| |
| 3.调用方法,实现键盘键入 |
| 变量名.nextInt() 输入整数 int 型 |
| 变量名.next() 输入字符串 String 型 |
| *next()遇到空格和回车结束录入 |
| *nextLine()遇到回车结束录入 |
| Random是Java定义好的一个类,可以在指定范围内随机一个整数,位置在java.util(这是个包) |
| |
| 使用: |
| 1.导包(类似引用函数库) |
| import java.util.Random |
| *但是此步骤在idea中在创建对象时就已经自动完成导入,所以可以直接忽略 |
| 2.创建对象 |
| Random 变量名 = new Random(); |
| |
| 3.调用方法,实现键盘键入 |
| 变量名.nextInt() 在 int 取值范围内取一个随机数 |
| 变量名.nextInt(int bound) 在(0-(bound-1))中取随机数 |
| |
| *nextInt(10)+1 -> (0-9)+1 -> 1-10 |
数组
| 定义及初始化: |
| 动态初始化: |
| 数据类型[] 数组名 = new 数据类型[长度] |
| 数据类型 数组名[] = new 数据类型[长度] |
| *new 代表创建数组 |
| |
| 静态初始化(优化版本): |
| 数据类型[] 数组名 = {元素1,元素2,...,元素N} |
| |
| 获取数组长度: |
| 数组名.length |
| *length后不要带小括号,因为length不少数组里的方法而是数组中的一个属性 |
| |
| 获取元素のtips: |
| 1.直接输出数组名的话,会输出数组在内存中的地址值 |
| 2.如果数组中没有存储数据,那么就会获取到元素的默认值 |
| 整数:0 小数:0.0 字符:'\u000' -> 对应的int值为0 |
| 布尔:false 引用:null |
| |
| 遍历数组: |
| 快捷键:数组名.fori -> for (int i = 0; i < 数组名.length; i++){} |
内存
| 1.内存:可以理解为"内存条",所有的程序运行时都会进入内存,而内存分为五大块 |
| |
| a.*栈(Stack) |
| 主要运行方法,方法都会进入栈中运行,运行结束后为了腾出空间给其他方法运行, |
| 需要进行"弹栈"操作。 |
| |
| b.*堆(Heap) |
| 保持的内容是对象、数组,每new一次都会在堆内存开辟空间,并为这个空间分配一个地址值 |
| 堆内存中的数据都是有默认值的 |
| 整数:0 小数:0.0 字符:'\u000' -> 对应的int值为0 |
| 布尔:false 引用:null |
| |
| c.*方法区(Method Area) |
| 代码的"预备区",记录了类的信息以及方法的信息 |
| 方法区内主要保存class文件以及其中的信息 |
| 代码运行之前需要先进入到内存中的方法区,运行时再根据实际情况分配到其他区域 |
| |
| d.本地方法栈(Native Method Stack) |
| 专门运行native方法(本地方法),本地方法是对Java功能的扩充 |
| 因为有很多功能,Java语言实现不了,所以需要依靠本地方法完成(C语言编写) |
| |
| e.寄存器(PC Register) -> CPU相关 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示