编程语言
首页 > 编程语言> > java自用的笔记(1)

java自用的笔记(1)

作者:互联网

操作系统调用时每次得先把调用地址发过去,然后才能调用

存储单元越大,空间浪费率越大,时间利用更充分;存储单元越小,空间浪费率越小,时间浪费越多

 

磁盘与内存的存储单元(页)都是4kb,4kb对于磁盘来说很小,因此能存储更多,相对于内存来说不小,更注重于提升存取速度

一个存储单元至少消耗4kb,这是由操作系统的特性决定的,因此一个变量单独消耗4kb,而一个数组则是所有数组成员都存储在4kb中

StringBuffer()工作原理:申请一块足够大的数组空间,基于字符数组的原理,当字符串发生变化时,只需要在这一块空间中改变,不用申请新的空间,StringBuffer()与StringBuilder()工作原理基本相同,只不过StringBuffer()更安全

 

使用方法:

StringBuilder a = new StringBuilder();

a.append(str);

 

java中的输入

Scanner in = new Scanner(System.in);

• Scanner (InputStream in) 用给定的输人流创建一个 Scanner 对象。 • String nextLine( ) 读取输入的下一行内容。 • String next( ) 读取输入的下一个单词(以空格作为分隔符。) • int nextlnt( ) • double nextDouble( ) 读取并转换下一个表示整数或浮点数的字符序列。 • boolean hasNext( ) 检测输人中是否还有其他单词。 • boolean hasNextInt( ) • boolean hasNextDouble( ) 检测是否还有表示整数或浮点数的下一个字符序列。

java中的输出转换符:

 

用法:

 

格式化输出时间

 

获得当前代码所在路径

String dir = System.getProperty("user.dir");

面试点:

输出记事本中字符时,电脑中有一个形状库,读取代码时先在开头找出是由什么编码编程的,然后再在代码中按规定的长度读取并去库中进行匹配并输出

一个字的不同大小也是不同的编码

编程语言操纵word文档实质上是操纵编码,常用的字体字号都有一个编码库,不常用的则靠实时运算

for循环:

顺序:

 

凡是有规律的计算且能用数学公式的统一用数学公式且不用for循环

switch循环:

switch语句将从与选项值相匹配的 case 标签处开始执行直到遇到 break 语句,或者执行到 switch 语句的结束处为止。如果没有相匹配的 case 标签, 而有 default 子句, 就执行这个子句

面试点:

不写break语句的话,会一直向下执行,直到找到break语句为止

 

 

switch括号中的类型:

•类型为 char、byte、 short 或 int 的常量表达式。 •枚举常量。 •从 Java SE 7开始, case 标签还可以是字符串字面量。

break:只能中断一层循环,不能打断多层

continue:直接进入下一次循环,而不是彻底中断循环

大数值:

Biglnteger 和 BigDecima;Biglnteger 类实现了任意精度的整数运算, BigDecimal 实现了任意精度的浮点数运算;

不能用+或*,只能用add 和 multiply 方法。

数组

数组是一个引用类型而不是基本类型

一维数组:

 

二维数组:

 

三维数组:

 

不规则数组:

 

引用类型句柄和数值不存储在一起:

 

 

引用类型的“=”相当于把地址换掉:

 

一维数组:句柄与数组不在一起,而是指向数组元素,里面的元素是连续的

 

二维数组:句柄与一维数组的指向数组(以一维数组指向作为元素的数组)不在一起,而是指向有一维数组的指向数组,一维数组句柄与实际数字不在一起,而是指向数组元素

 

 

更改上述二维数组中第一行数组元素:a[0],则二维数组中第一个存储元素变为新的排列后的一维数组的地址6754并且指向它,并把旧的指向舍弃

 

 

相当于c++中指针更改指向,因此只要是引用类型的“=”,就是改变其指向地址

字符串数组:

更改arr[0] = "yyyyy",原理与二维数组相同

 

for each 循环

 

数组排序:Arrays.sort(a):对数组a进行排序

 

排序结果

 

标签:java,一维,指向,句柄,笔记,自用,数组,4kb,读取
来源: https://blog.csdn.net/perturb/article/details/122349898