标签:java 一维 指向 句柄 笔记 自用 数组 4kb 读取
操作系统调用时每次得先把调用地址发过去,然后才能调用
存储单元越大,空间浪费率越大,时间利用更充分;存储单元越小,空间浪费率越小,时间浪费越多
磁盘与内存的存储单元(页)都是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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。