在复习二级Java知识点的过程中,有得亦有失,有进亦有退。但是,无论成绩如何,只要你走的每一步都是认真的、仔细的、有意义的,那么你就是胜者。
二级Java知识点
【1】常量和变量
1.什么是常量
常量是值不可以改变的标识符。
对常量的定义规则:建议大家尽量全部大写,并用下划线将词分隔。
如:JAVASS_CLASS_NUMBER ,FILE_PATH
2.什么是变量
变量是值可以改变的标识符,用来引用一个存储单元,用标识符来表示,可以通过操作变量来操作变量所对应的内存区域或值块的值。
下面来理解一下:
2.1变量是标识符
也就是说变量本质上是标识符,但是所有的标识符都是变量吗?很显然不是的,那么哪些标识符才是变量呢?
2.2值可以改变
一定是值可以改变的这些标识符才被称为变量,注意是可以改变,不是一定要改变。
比如:
我们定义人的体重叫做 weight,现在测量某人的体重是 70kg,也就是 weight 的值是 70,然后让他吃饭,吃完饭过后马上再次测量,此时体重可能是 71kg,也就是说 weight 的值发生了变化,变成了 71 了。对象并没有发生变化,属性也没有发生变化,只是这个属性的值发生了变化。
2.3变量的定义规则
(1):遵从所有标识符的规则
(2):所有变量都可大小写混用,但首字符应小写
(3):尽量不要使用下划线和$符号
(4):可以先声明再赋值,如:
int i;
i=9;
也可以声明的同时进行赋值:
int i=9;
2.4 几点说明
(1):变量在计算机内部对应着一个存储单元,而且总是具有某种数据类型:基本数据类型或引用数据类型
(2):变量总是具有与其数据类型相对应的值
(3):每个变量均具有:名字、类型、一定大小的存储单元以及值
【2】
Java流程控制
Java流程控制的语法与 C/C++ 类似,也有 if...else、while、do...while、for、switch...case等,这里不再讲述具体语法,仅举例说明。
输出九九乘法表(右上三角):
publicclassDemo{publicstaticvoidmain(String[]args){inti,j;for(i=1;i<=9;i++){for(j=1;j<=9;j++){if(j<i){//打印八个空格,去掉空格就是左上三角形System.out.print("");}else{System.out.printf("%d*%d=%2d",i,j,i*j);}}System.out.print("\n");}}}
运行结果:
1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=9
2*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=18
3*3=93*4=123*5=153*6=183*7=213*8=243*9=27
4*4=164*5=204*6=244*7=284*8=324*9=36
5*5=255*6=305*7=355*8=405*9=45
6*6=366*7=426*8=486*9=54
7*7=497*8=567*9=63
8*8=648*9=72
9*9=81
Java中也有 printf() 语句,用来控制输出格式,不过实际开发中不常用,因为输出到控制台的数据很少要求严格的格式,一般 println() 和 print() 就够了。
println() 输出内容后换行,print() 不换行。
又如,求某一年的某一月有多少天:
importjava.util.*;publicclassDemo{publicstaticvoidmain(String[]args){intdays=0;//获取用户输入Scannersc=newScanner(System.in);System.out.print("输入年份:");intyear=sc.nextInt();System.out.print("输入月份:");intmonth=sc.nextInt();switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2://判断闰年if(year%4==0&&year%100!=0||year%400==0)days=29;elsedays=28;break;default:System.out.println("月份输入错误!");System.exit(0);//强制结束程序}System.out.printf("天数:%d\n",days);}}
运行结果:
输入年份:2014
输入月份:02
天数:28
Java中没有像C语言中的scanf()语句,从控制台获取输入有点麻烦,我推荐使用 Scanner 类,具体语法请大家自行查看API。
【3】
键盘事件
键盘事件的事件源一般丐组件相关,当一个组件处于激活状态时,按下、释放或敲击键盘上的某个键时就会发生键盘事件。键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器)。实现KeyListener接口有3个:
keyPressed(KeyEvent e):键盘上某个键被按下;
keyReleased(KeyEvent e):键盘上某个键被按下,又释放;
keyTyped(KeyEvent e):keyPressed和keyReleased两个方法的组合。
管理键盘事件的类是KeyEvent,该类提供方法:
public int getKeyCode(),获得按动的键码,键码表在KeyEvent类中定义,参见附录。
【例1】小应用程序有一个按钮和一个文本区,按钮作为发生键盘事件的事件源,并对它实施监视。程序运行时,先点击按钮,让按钮激活。以后输入英文字母时,在正文区显示输入的字母。字母显示时,字母之间用空格符分隔,且满10个字母时,换行显示。
import java.applet.*
import java.awt.*;
import java.awt.event.*;
public class Example6_10 extends Applet implements KeyListener{
int count =0;
Button button = new Button();
TextArea text = new TextArea(5,20);
public void init(){
button.addKeyListener(this);
add(button);add(text);
}
public void keyPressed(KeyEvent e){
int t = e.getKeyCode();
if(t>=KeyEvent.VK_A&&t<=KeyEvent.VK_Z){
text.append((char)t+" ");
count++;
if(count%10==0)
text.append("\n");
}
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
}
【4】
鼠标事件
鼠标事件的事件源往往与容器相关,当鼠标进入容器、离开容器,或者在容器中单击鼠标、拖动鼠标时都会发生鼠标事件。java语言为处理鼠标事件提供两个接口:MouseListener,MouseMotionListener接口。
MouseListener接口
MouseListener接口能处理5种鼠标事件:按下鼠标,释放鼠标,点击鼠标、鼠标进入、鼠标退出。相应的方法有:
(1) getX():鼠标的X坐标
(2) getY():鼠标的Y坐标
(3) getModifiers():获取鼠标的左键或右键。
(4) getClickCount():鼠标被点击的次数。
(5) getSource():获取发生鼠标的事件源。
(6) addMouseListener(监视器):加放监视器。
(7) removeMouseListener(监视器):移去监视器。
要实现的MouseListener接口的方法有:
(1) mousePressed(MouseEvent e);
(2) mouseReleased(MouseEvent e);
(3) mouseEntered(MouseEvent e);
(4) mouseExited(MouseEvent e);
(5) mouseClicked(MouseEvent e);
【例1】小应用程序设置了一个文本区,用于记录一系列鼠标事件。当鼠标进入小应用程序窗口时,文本区显示“鼠标进来”;当鼠标离开 窗口时,文本区显示“鼠标走开”;当鼠标被按下时,文本区显示“鼠标按下”,当鼠标被双击时,文本区显示“鼠标双击”;并显示鼠标的坐标。程序还显示一个红色的圆,当点击鼠标时,圆的半径会不断地变大(查看源文件)。
任何组件上都可以发生鼠标事件:鼠标进入、鼠标退出、按下鼠标等。例如,在上述程序中添加一个按钮,并给按钮对象添加鼠标监视器,将上述程序中的init()方法修改成如下形式,即能示意按钮上的所有鼠标事件。
JButton button;
public void init(){
button = new JButton(“按钮也能发生鼠标事件”);
r = 10;
text = new JTextArea(15,20);
add(button);
add(text);
button.addMouseListener(this);
}
如果程序希望进一步知道按下或点击的是鼠标左键或右键,鼠标的左键或右键可用InputEvent类中的常量BUTTON1_MASK和BUTTON3_MASK来判定。例如,以下表达式判断是否按下或点击了鼠标右键:
e.getModifiers()==InputEvent. BUTTON3_MASK
MouseMotionListener接口
MouseMotionListener接口处理拖动鼠标和鼠标移动两种事件。
注册监视器的方法是:
addMouseMotionListener(监视器)
要实现的的接口方法有两个:
(1) mouseDragged(MouseEvent e)
(2) mouseMoved(MouseEvent e)
【例2】一个滚动条与显示窗口同步变化的应用程序。窗口有一个方块,用鼠标拖运方块,或用鼠标点击窗口,方块改变显示位置,相应水平和垂直滚动条的滑块也会改变它们在滚动条中的位置。反之,移动滚动条的滑块,方块在窗口中的显示位置也会改变(查看源文件)。
上述例子中,如果只要求通过滑动滑块,改变内容的显示位置,可以简单地使用滚动面板JScrollPane。如果是这样,关于滚动条的创建和控制都可以免去,直接由JScrollPane内部实现。参见以下修改后的MyWindow的定义:
class MyWindow extends JFrame{
public MyWindow(String s){
super(s);
Container con = this.getContentPane();
con.setLayout(new BorderLayout());
this.setLocaltion(100,100);
MyListener listener = new MyListener();
listener.setPreferredSize(new Dimension(700,700));
JScrollPane scrolledCanvas = new JScrollPane(listener);
this.add(scrolledCanvas,BorderLayout.CENTER);
this.setVisible(true);
this.pack();
}
public Dimension getPreferredSize(){
return new Dimension(400,400);
}
}
鼠标指针形状也能由程序控制 ,setCursor()方法能设置鼠标指针形状。例如,代码setCursor(Cursor.getPredefinedCursor(cursor.WAIT_CURSOR))。
【5】
Java滚动条
滚动条(JScrollBar)也称为滑块,用来表示一个相对值,该值代表指定范围内的一个整数。例如,用Word编辑文档时,编辑窗右边的滑块对应当前编辑位置在整个文档中的相对位置,可以通过移动选择新的编辑位置。在Swing中,用JScrollBar类实现和管理可调界面。JScrollBar类常用的构造方法是:
JScrollBar(int dir,int init,int width,int low,int high)
其中,dir表示滚动条的方向。JScrollBar类定义了两个常量,JScrollBar.VERTICAL表示垂直滚动条;JScrollBar.HORIZONTAL表示水平滚动条。init表示滚动条的初始值,该值确定滚动条滑块开始时的位置;width是滚动条滑块的宽度;最后两个参数指定滚动的下界和上界。注意滑块的宽度可能影响滚动条可得到的实际的最大值。例如,滚动条的范围是0至255,滑块的宽度是10,并利用滑块的左端或顶端来确定它的实际位置。那么滚动条可以达到的最大值是指定最大值减去滑块的宽度。所以滚动条的值不会超过245。
JScrollBar类其他常用方法是:
setUnitIncrement():设置增量,即单位像素的增值;
getUnitIncrement():获取增量;
setBlockIncrement():设置滑块增量,即滑块的幅度;
getBlockIncrement():获取滑块增量;
setMaxinum():设置最大值;
getMaxinum():获取最大值;
setMininum():设置最小值;
getMininum():获取最小值;
setValue():设置新值;
getValue():获取当前值。
JScrollBar类对象的事件类型是AdjustmentEvent;类要实现的接口是AdjustmentListener,接口方法是adjustmentValueChanged();注册监视器的方法是addAdjustmentListener();获取事件源对象的方法是getAdjustable().
【例3】应用程序将滚动条作为值的选择。容器有一个开/关滚动条的按钮,一个文本框和一个滚动条,当滚动条处于打开状态时,移动滚动条上的滑块,滑块的对应值显示在文本框中。如果滚动条处于关闭状态 ,则移动滚动条上的滑块,滑块的对应值在文本框中不显示(查看源文件)。
MyScrollBar类定义的方法getPreferedSize()也是Component类中定义的方法,界面组件通过覆盖定义该方法确定界面组件的大小。当布局字处理器在安排组件布局时,就会调用该方法来确定组件的大小。这个方法返回一个Dimension类型的对象,Dimension对象含两个整数,分别为组件的宽和高。在上述程序中,为滚动条指派的区域的宽是125像素,高是20个像素。任何组件都可用上述方法来指定大小。
考无忧小编tips:
哪有斩不断的荆棘?哪有推不翻的山岳?哪有刷不完的二级Java知识点?你只须奋斗着,猛勇地奋斗着;持续着,永远的持续着,胜利就是你的了,计算机等级证书就是你的了。
文章推荐:
2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”
全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)
温馨提示:
考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office
想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库
想知道更多关于计算机等级考试题库的最新资讯吗?点击进入>>>计算机等级考试题库资讯