Java之小结1

一、Java的特点

(1)简单:

c++中许多容易混淆的概念早已被Java抛弃不用了,例如:Java不在有指针的概念了。

(2)面向对象:

Java是面向对象的编程语言(在后面的小结会慢慢举例)

(3)平台无关:

Java语言与其他语言的相比,最大的优势就是它的平台无关性。Java能做到这点,是因为Java可以在计算机的操作系统之上再提供一个Java运行环境,该运行环境是由Java虚拟机(Java Virtual Machine)、类库以及一些核心文件组成,也可以这么说,只要平台提供了Java运行环境,Java编写的软件就能在其上运行。(c++/c的源程序所产生的可执行的文件不一定在所有平台上正确被运行)

(4)多线程:

Java就是内置对多线程的支持,这样允许同时完成多个任务。(而c++就必须调用操作系统的多线程功能来进行多线程程序的设计)

(5)动态:

首先介绍一下Java程序的基本组成单位是类,而类又是运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库。

二、安装JDK

网站:https://www.oracle.com/technetwork/java/javase/downloads/index.html(仅供参考)

三、Java程序的开发步骤

(1)编写源文件:

使用一个文件编辑器,如Edit或记事本来编写源文件。不可使用非文本编辑器,例如Word编辑器。将编辑好的源文件保存起来,源文件的扩展名必须是java.

(2)编译源文件:

使用Java编译器(javac.exe)编译源文件,得到字节码文件.

(3)运行程序:

使用Java SE平台中的Java解释器(java.exe)来解释执行字节码文件.

四、简单的Java应用程序

1.源文件的编写与保存

(1)编写源文件:   

注意:Java源程序中语句所涉及的小括号及标点符号都是英文状态下输入的括号和标点符号,引号也必须是英文状态下的引号,而字符串里面的符号不受汉字或英文字符的限制.

(2)保存源文件:

如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;如果源文件没有public类,那么源文件的名字只有和某个类的名字相同,并且扩展名是java就可以了。

2、编译

(1)编译器(javac)

  (2)字节码文件(.class文件)

3、运行

(1)应用程序的主类

一个Java应用程序必须有一个类(至少一个)含有public static void main(String args[])方法,称这个类是应用程序的主类。

(2)解释器(java)

五、注释

单行注释使用“//”表示单行注释的开始,即该行中从“//”开始的后续内容为注释.

多行注释使用“/*”表示注释的开始,以“*/”表示注释结束.

六、编程风格

(1)Allmans风格:也称“独行”风格,即左、右大括号各自独占一行,如下列代码所示:

 

(2)Kernighan风格:也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行,如下列代码所示:

 七、小结

开发一个Java程序需经过3个步骤:编写源文件、编译源文件生成字节码、加载运行字节码.

编程代码务必遵守行业的习惯风格.

Java测试题4》<br><br>Java练习题<br>一、填空<br>1、 对象的状态和行为是对象的主要属性;前者对应类的 ,行为又称为对象的操作,对应着类的 。类的定义包括 声明和 声明。<br>2、 要嵌入在HTML文件中运行的程序是 ( Java Application、 Java Applet)。<br>3、 安装JDK后,Java开发工具在 目录。<br>4、 声明接口的保留字是 。<br>5、 类的声明“public class Test extends Applet implements Runable{}”中,定义的类名是 ,其父类是 ;实现了 接口。这个类的源程序必须保存为 (写出包括扩展名的文件名)。<br>6、 一个完整的Java应用程序由一个或多个类组成;其中Java Application至少有一个主类,这个类中包含一个名为 的方法<br>7、 JDK下解释执行Java的程序是 。<br>8、 语句如下:<br>int[] c1=int[10]; <br>int[] c2={1,2,3,4,5,6,7,8,9,0}; <br>数组c1中的元素有 个;c2中的元素有 个;已初始化赋值的是 (c1 c2)。<br>9、 编写Java Applet程序的类必须继承自 类。<br>10、 执行完下列程序后i的值为 。<br>int i=0;<br>while(i<5)<br>{<br> i++;<br>}<br>11、 运行下列程序段后,结果c的取值为 。<br>int a = 100, b = 20, c; <br>char oper ='+';<br>switch(oper) {<br>case '+':<br> c = a+b;<br> break;<br>case '-':<br> c = a - b;<br> break;<br>default :<br> c = a * b;<br> break;<br>}<br>12、 为了能使用Java中已提供的类,我们需要用import语句来引入所需要的类。语句import java.io.*; 中引入了 包的所有类。<br>二、选择题<br>1、 属于访问控制的关键字是( )。<br>A、static B、final C、abstract D、private<br>2、 对成员的访问控制保护最强的是( )。<br>A、public 、B、缺省、 C private D protected<br>3、 可用做Java标识符的是( )。<br>A、MyGame B_isYour C 2time D aBc2<br>4、 属于Java输入输出流的、且处理的是char类型的类是( )。<br>A、Reader类 B、InputStream类 C、OutputStream类 D、File类<br>5、 缺省的存局管理器是( )。<br>A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout<br>6、 用于存放创建后则不变的字符串常量是( )。 <br>A、String类 B、StringBuffer类 C、Character类、D、以上都不对<br>三、判别题<br>1、 一个类可以生成多个对象,并且这些对象都具有相同的属性。( )<br>2、 当运行javac命令对一个java源程序进行编译时,必须写出该源程序文件的完整文件名,包括扩展名.java。( )<br>3、 java语言中不用区分字母的大写小写。( )<br>4、 数组允许存放不同类型的定长元素。( )<br>5、 Java的类是单继承的,所有的类都从Object类派生而来的。( )<br>6、 System.out.println(“Hello java!”)中out是System 类的一个成员变量。( )<br>四、简答题<br>1、 通过继承,子类可以获得哪些好处?<br>2、 写出程序包组织Java程序的好处?<br>五、程序分析题<br>阅读下列程序,然后回答问题。<br>class Car { <br> int carNumber;<br> Car(){}<br> Car(int no){<br> this.carNumber=no;<br> } <br> void setNumber(int carNum) {<br> carNumber = carNum;<br> }<br> void showNumber() {<br> System.out.println(“My car No. is :” + carNumber);<br> }<br>}<br>① 写出这里定义了什么类?有哪些成员变量?有哪些成员方法?<br>② 有哪些构造方法?<br>③ 这个类有无访问控制修饰?表示谁可以访问这个类内的属性和方法? <br>④ void表示什么?static表示什么?<br>下列程序中,main()方法中使用了上面定义的类,产生了多少个对象?对象名字分别是什么?写出执行后的输出结果。<br>public class CarDemo {<br> public static void main(String args[]){<br> Car demoCar1= new Car();<br> demoCar1.setNumber(168168);<br> demoCar1.showNumber();<br> }<br>}<br>六、设计题<br>1、 编写一个完整的Java Application程序在命令行输出“I am a student.” ,并说明在JDK环境下的开发并运行的具体过程。<br>2、 编写一个完整的JAVA的Applet,使之能够在浏览器上显示“I am a student.”字符串信息,并说明在JDK环境下的开发并运行的具体过程。<br>3、 用Java实现如下的骰子游戏:丢下两个骰子,若分值的总值为7点,则赢;否则输。提示:类图如右图。<br>1)首先定义Die类。<br>提示:Die类表示一个骰子有faceValue一个静态属性,有一个roll()方法getFaceValue()。<br>roll()方法使faceValue为1~6中的一个随机值。getFaceValue()是取出faceValue值。<br>2)然后定义DiceGame类。<br>提示:DiceGame类有die1、die2两个静态属性,有一个play()方法。play()方法返回一个布尔类型,true表示分值的总值为7点,否则为false。<br>3)最后写了同个Test类,对上面定义的类进行测试。<br>提示:写出主类,main()方法中产生DiceGame对象,执行play()方法后显示出输赢。<br><br>
Java多线程是指在一个Java程序中同时执行多个线程,每个线程都是独立的执行流。Java中创建线程的方式有三种:继承Thread类、实现Runnable接口和实现Callable接口。每种方式都有其优缺点。 1. 继承Thread类创建线程类: ```java class MyThread extends Thread { public void run() { // 线程执行的代码 } } // 创建线程对象并启动线程 MyThread thread = new MyThread(); thread.start(); ``` 优点:简单易用,可以直接重写Thread类的run()方法。 缺点:由于Java不支持多继承,继承了Thread类就无法再继承其他类。 2. 实现Runnable接口创建线程类: ```java class MyRunnable implements Runnable { public void run() { // 线程执行的代码 } } // 创建线程对象并启动线程 Thread thread = new Thread(new MyRunnable()); thread.start(); ``` 优点:避免了单继承的限制,可以继续继承其他类或实现其他接口。 缺点:需要额外创建Thread对象,并将Runnable对象作为参数传递给Thread对象。 3. 实现Callable接口创建线程类: ```java class MyCallable implements Callable<Integer> { public Integer call() throws Exception { // 线程执行的代码 return 0; } } // 创建线程池对象 ExecutorService executor = Executors.newFixedThreadPool(1); // 提交Callable任务并获取Future对象 Future<Integer> future = executor.submit(new MyCallable()); // 获取线程执行结果 int result = future.get(); ``` 优点:可以获取线程执行的结果,并且可以抛出异常。 缺点:相对于前两种方式,使用Callable需要更多的代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GTFL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值