Java基础快速复习(二)

这篇博客主要复习了Java中的数组操作,包括声明、创建与foreach循环,详细介绍了Arrays类的功能。此外,还讲解了如何进行文件读写,如FileInputStream和FileOutputStream的使用。最后,探讨了Scanner类的创建方法以及next()与nextLine()方法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘抄整理于W3Cschool的Java教程,比较适用于学过Java但一段时间没有接触的复习回顾。

1 数组

1.1 数组的声明、创建

声明数组变量

double[] myList;         // 首选的方法
或
double myList[];         //  效果相同,但不是首选方法,来自于C/C++的风格

创建数组
Java语言使用new操作符来创建数组,语法如下

arrayRefVar = new dataType[arraySize];
//如:
myList = new double[10];

上面的语法语句做了两件事:

  • 使用new dataType[arraySize]创建了一个数组。
  • 把新创建的数组的引用赋值给变量 arrayRefVar。

数组变量的声明,和创建数组可以用一条语句完成,如下所示:

dataType[] arrayRefVar = new dataType[arraySize];
如:
double[] myList = new double[10];

上面的语句首先声明了一个myList数组变量,接着创建了一个包含10个double元素的数组,并将数组的引用赋值给myList变量。
也可以这样创建数组:

dataType[] arrayRefVar = {value0, value1, ..., valuek};
如:
double[] myList = {1.1,4.2,...,3.8};

实例

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (int i = 0; i < myList.length; i++) {
          System.out.println(myList[i] + " ");
       }
       // 计算所有元素的总和
       double total = 0;
       for (int i = 0; i < myList.length; i++) {
          total += myList[i];
       }
       System.out.println("Total is " + total);
       // 查找最大元素
       double max = myList[0];
       for (int i = 1; i < myList.length; i++) {
          if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}

运行结果如下:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

1.2 foreach循环

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      foreach (double element: myList) {
         System.out.println(element);
      }
   }
}

1.3 Arrays类

java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:

  1. 给数组赋值:通过fill方法。
  2. 对数组排序:通过sort方法,按升序。
  3. 比较数组:通过equals方法比较数组中元素值是否相等。
  4. 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

2 读写文件

在这里插入图片描述
FileInputStream
该流用于从文件读取数据,它的对象可以用关键字new来创建。有多种构造方法可用来创建对象。

  1. 可以使用字符串类型的文件名来创建一个输入流对象来读取文件:
InputStream f = new FileInputStream("C:/java/hello");
  1. 也可以使用一个文件对象来创建一个输入流对象来读取文件。我们首先得使用File()方法来创建一个文件对象:
File f = new File ("C:/java/hello");
InputStream f = new FileInputStream(f);

创建了InputStream对象,就可以使用下面的方法来读取流或者进行其他的流操作。
在这里插入图片描述
FileOutputSteam
该类用来创建一个文件并向文件中写数据。
如果该流在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。有两个构造方法可以用来创建FileOutputStream 对象。

  1. 使用字符串类型的文件名来创建一个输出流对象:
OutputStream f = new FileOutputStream("C:/java/hello");
  1. 也可以使用一个文件对象来创建一个输出流来写文件。我们首先得使用File()方法来创建一个文件对象。
File f = new File("C:/java/hello");
OutputStream f = new FileOutputStream(f);

创建OutputStream 对象完成后,就可以使用下面的方法来写入流或者进行其他的流操作。
在这里插入图片描述

3 Scanner类

3.1 下面是创建Scanner对象的方法:

Scanner s = new Scanner(System.in)
//从键盘接收数据

3.2 next()与nextline()的区别

next():
1.在输入有效符之前的空白符会被忽略
2.一定要遇到有效符之后才可以结束
3.只要输入有效符以后的空白符作为空白符作为结束符或者分隔符
4.next()不会得到带空白符的字符串
nextline():
1.以Enter作为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
2.可以包括空白符。

Scaner scan = new Scanner(System.in)
if(scan.hasNext())//判断是否还有输入
if(scan.hasNextLine())//判断是否还有输入
if(scan.hasNextInt())//判断是否还有输入整数
if(scan.hasNextFloat())//判断是否还有输入小数
while(scan.hasNextDouble())  //当输入的还是数字
期末考试题型: 一、 填空题(本题共15空 ,每空1分,共15分。) 、 单项选择题(本题共20小题,每题1分,共20分。) 三、 是非题(对划“√”,错划“×”,本题共10小题,每题1分,共10分。) 四、 简答题(本题共5小题,每小题5分,共25分。) 五、 程序填空题(本题共5空 ,每空2分,共10分。) 六、 编程题(本题共2小题,每小题10分,共20分。) 、填空题 1、Java语言是一种完全的_面相对象___程序设计语言。 2、布尔型常量有两个值,它们分别是_true__、_false___。 3、在定义一个方法时,一般都要指明该方法的返回值类型,如果它不返回任何值,则必须将其声明成 void 。 4、在Java的语言环境中已经包含了一组相关的核心类库,它们属于Java.lang包。 5、写出完整的main方法的声明 public static void main(String args[]) 。 6、要设计一个Applet小程序,必须先引入包 java.applet 。 7、设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为:2.75___ 8、被关键字_final___修饰的方法是不能被当前类的子类重新定义的方法。 9、Java中类成员的限定词有以下几种:private, _protected__, public__, 默认友好。 10、基类的公有成员在派生类中的访问权限由_基类___决定。 11、用static修饰的方法,称为静态方法。它们不是对象的方法,而是整个类的方法。静态方法只能处理用关键字_static___修饰的数据。 12、在Java中有一种叫作__构造方法__的特殊方法,我们在程序中用它来对类的对象成员进行初始化。 13、面向对象技术具有_封装性___、_继承性___、_抽象性___、多态性等特性。 14、Java中所有类都是类 _Object___的子类。 15、顺序执行以下两个语句的输出结果是: 10 。 String s = “我喜欢学习Java!”; System.out.println(s.length( )); 16、据程序的构成和运行环境的不同,Java源程序分为两大类: Application 程序和 Applet 程序。 17、如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 4 个文件名与类名相同而扩展名为 class 的字节码文件。 18、开发与运行Java程序需要经过的三个主要步骤为 编辑源文件 、 编译器编译生成字节码文件 和 解释器执行 。 19、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet 类的子类并且存储该源程序文件的文件名必须为 MyApplet.java 。 20、 一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令: javac MyJavaApplication.javajava MyJavaApplication 。 21、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用 2 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用2 字节内存空间。 22、在Java程序中定义的类有两种成员: 静态成员 、 实例成员 。 23、Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含 main 方法的类;在Java Applet里,这个主类是一个系统类 Applet 的子类。 24、创建一个名为 MyPackage 的包的语句是 package MyPackage ; , 该语句应该放在程序的位置为: 程序中非注释行的第一行 。 25、 抽象或abstract 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终后final 方法是不能被当前类的子类重新定义的方法。 26、多态是指 一种定义,多种实现 ,在Java中有两种多态,一种是使用方法的 重载 实现多态,另一种是使用方法的 覆盖 实现多态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值