java中的冒号是什么作用?
你见到的冒号是在哪个地方的,Java中不同的地方的冒号的作用是不同的,例如: 一、 String[] abc = new String[3]{"a","b","c"}; for (String str : abc){ System.out.println(str); //这个地方的冒号就是遍历abc的***,取出每一个元素 } 二、三元运算符boolean?true的内容:false的内容 int a=1; int b=3; int i = a>b?3:1;//这个地方的冒号用来选择值,如果a大于b,那么i=3,否则i=1 三、跳转标记 outer:for(int i=0;i<5;i++){ for(int i=0;i<5;i++){ if(i==3){ continue outer; } } } //这个地方就是跳转标识,可用来标记地方 里层循环 continue直接跳出外层循环,继续执行外层循环 4.switch选择 switch(i){ case 1:oprate....;break; case 2:oprate....;break; case 3:oprate....;break; //用于switch选择,当i等于下面的值事,执行后面的操作,然后break跳出,如果没有break,那么将执行下面的oprate操作,一直到底! default:break; }
j***a编程:判断某年是否为闰年?
2、添加了j***a.util.Scanner类,用来接收键盘输入的年份。
3、***用if语句判断键盘输入的数据是否为闰年。
4
源代码如下:
import j***a.util.Scanner;
public class RunNian {
J***a中的注解到底是如何工作的?
什么是注解
注解是在J***a5.0版本中被引入,其目的是用于描述数据,我们可以把他当作标签,每加上一个注解就相当于给类//字段贴上来标签,而标签的作用我们很明白,通过标签我们可以知道这个类/方法/字段是做什么的。
为什么使用注解
在程序开发中,如果我们看到@Override,我们是很容易理解它的作用就是对实现方法的重写,而这也达到设计之初的目标,即描述数据。
继续以Override为例子,我们在实现父类方法的时候通常会带上该注解,但是我们不带也不会对运行有任何影响,但是如果我们把注解放到非实现的方法上,编译就会报错。也就是说注解会告诉编译我是做什么的,如果我做的和预期不一样,那么编译器会对我们程序进行纠错,即对不合注解含义的业务进行处理(这个处理不是注解去处理,只是看上去像是注解的作用)。
注解如何工作
对于@Override使用在非父类方法上编译报错的情况,我们最初接触的时候可能会认为这些报错的作用是注解的作用,但是实际上并不全是,这是因为注解仅仅是标签亦或者说是元数据。他的作用一开始仅仅是为类描述数据,而后衍生出来的各种功能是由前端编译器在编译成class的时候会有一个专门的注解处理器,是他在编译过程中对诸多注解,如@Override,会有专门的代码完成@Override标志的业务逻辑。简单的说,注解只是标签,而标签具有的功能是由前端编译器
J***a中为什么不设置一个函数,让程序员来标记可以被gc回收的变量?
参考Object类中的finalize()方法,对应的是C++的析构函数;如果不是必要,尽量不要重写该方法。GC是虚拟机的异步任务,我们无法手动指定,即便调用System.gc(),也只是给虚拟机一个建议,不保证一定执行。