【JavaSE笔记】Java常见细节性问题(二)
来源:互联网 发布:公务员 网络课程 攻略 编辑:程序博客网 时间:2024/05/16 08:02
1. 跳转控制语句
break 、continue 、returna. break:
i. 在switch语句中使用ii. 循环语句中跳出当前时使用
1) 跳出单层循环—>跳出
2) 跳出多层循环—>带标签的语句跳出
例:
wc:for(int x = 0 ; x < 3 ; x ++){nc:for(int y = 0 ; y <4 ; y++){if(y==2){break nc ; //控住内层循环跳出break wc;//控制外层循环跳出}}}
b. continue:
i. 在循环语句中使用ii. 跳出当前循环,进入下一次循环(break和continue区别)
例:
for(i=1;i<=10;i++){if(i%4==0)break/continue;System.out.println("Hello World");}§ break:输出3次§ continue:输出8次
c. return:
i. 在方法中使用,返回方法的返回值类型的值ii. 遇见它,方法结束
2. 循环语句
a. do_while 和 while和 if 的区别:
i. do_while循环语句:循环至少执行一次
1) 先判断条件语句是否成立,成立才执行循环.
2) 如果循环结束,还想使用控制的那个变量,那么必须使用while循环.
3) 从内存的角度来说,使用for循环好处大于while循环.
4) 一般应用:知道范围用 for ;不明确循环次数用 while.
b. 死循环的格式:
i. while(true){语句;
}
语句;
}
3. 方法:存在独立功能的代码块
a. 两个明确:
i. 明确返回值类型(如 void、int、char、boolean…)ii. 明确参数类型
b. 如何调用:针对有返回值类型的方法的调用
i. 单独调用:没有意义,没有输出;ii. 输出调用:可以直接得到结果,无法对返回结果进行下一步操作
iii. 赋值调用:可以对结果进行下一步操作
例:
public static void main(String[] args){int a = 10 ;//实际参数int b = 20 //写一个功能:求和的功能//1)单独调用sum(a, b) ;//2)输出调用System.out.println(sum(a, b));//3)赋值调用int result = sum(a, b) ;System.out.println("result:"+result);}public static int sum(int a,int b){return a + b ;}
c. 方法定义的注意事项:
i. 方法和方法是平级关系,不能将一个方法写到main主程序里ii. 方法不调用不执行
iii. 在main方法中调用其他方法时,实参不用带数据类型 (如 Fun(int a))
iv. 方法定义完毕:(有返回值类型的方法:返回具体的结果:否则不写return:编译不通过)
d. 方法重载(Overlook)
在同一个类中,出现同名的方法名,参数列表(参数个数,参数数据类型)不同,它与返回值没有关系★方法重写(Override)(面向对象)
4. 数组:
a. 数组定义:
数据类型 [ ] 数组名;数据类型 数组名 [ ];(C 、C++)
b. 初始化:
i. 动态初始化:定数组的长度,它的元素值由系统默认分配int [ ] a= new int [10];
int a [ ]= new int [10];
ii. 静态初始化:指定的数组的具体元素,数组长度由系统默认分配
1) 注意事项:
数组的初始化:不能动静结合
int [] a = new int [3]{1,2,3};//错误的!!!
c. 在java中经常会出现的两种异常
运行时期异常:Runtime Exceptioni. java.lang.ArrayIndexOutOfBoundsException:数组角标越界异常
出现这个异常的原因:访问了数组中不存在的索引
ii. java.lang.NullPointerException:空指针异常
出现这个异常的原因:数组的对象为空,都不执行内存地址值,还要输出元素.
5. Java中内存分配
为了提高程序效率,对数据进行不同空间的分配a. 具体划分为5个内存空间:
栈、堆、方法区、本地方法区、寄存器i. 堆内存的特点:
1) 每一个new出的东西都会在堆内存去分配空间都有地址值2) 每个变量都有默认值
byte,short,int,long 0
float,double 0.0
char \u0000
boolean false
引用类型 null
3) 使用完毕就成为垃圾,会在gc(垃圾回收器)空闲的时候回收
ii. 栈内存的特点:
1) 先进后出。进栈:压栈,出栈:弹栈2) 栈内存中的全局变量一旦调用完毕,输出完毕就会立即释放内存
阅读全文
0 0
- 【JavaSE笔记】Java常见细节性问题(二)
- 【JavaSE笔记】Java常见细节性问题(一)
- 【JavaSE笔记】Java常见细节性问题(三)_二维数组
- 【JavaSE笔记】Java常用类及其方法(二)_String
- 【JAVA秒会技术之秒杀面试官】JavaSE常见面试题(二)
- 10.Django细节性知识点回顾(二)
- Java常见面试问题(二)
- 【JavaSE笔记】多线程(二)多线程
- JAVASE学习笔记二
- JavaSE-java语法基础(二)
- JavaSE 03 Java基础语法(二)
- JAVASE学习笔记:第五章 JAVA面向对象(二)
- java中的自动装箱封箱的一些细节性的问题
- JavaSE-Headfirst Java笔记
- JavaSE自学笔记整理(二)
- [JavaSE笔记]Java中易被忽视的一些问题
- 一些经常被忽略的细节性问题(一)
- javaSE学习笔记之面向对象程序设计(二)
- 神经网络快速入门:什么是多层感知器和反向传播?
- 软件工程(C编码实践篇) 学习总结
- python学习笔记之字符编码
- 【React Native】React Native之Navigator has been remove from this package...的问题
- webvtt字幕转srt字幕方法
- 【JavaSE笔记】Java常见细节性问题(二)
- Scala基础—提取器Extractor使用示例
- 洛谷1046 陶陶摘苹果
- 最新去除标题栏的方法
- RunLoop总结:RunLoop基础知识
- ffmpeg从MP4中提取h264的NALU
- nginx 配置
- 三层结构--初识
- 谈一谈Java8的函数式编程 (一)(转)