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相关
标签:Java,int,笔记,学习,数组名,内存,数组,方法
From: https://www.cnblogs.com/StadarkBlog/p/18213937