JAVA课程实验报告单(3)---数组与运算符

一、实验目的

1.学习数组的定义;

2.学习数组的初始化;

3.学习对数组的访问;

4.掌握整数除法、浮点数除法、混合除法;

5.掌握基本的逻辑运算符的用法;

二、实验要求

3.1数组的定义与初始化

定义两个长度为5的数组,一个采用静态初始化,一个采用动态初始化,分别将其输出。

public class Exam_3_1 {
   public static void main(String[] args) {
       //动态初始化
       int[] dynamicArray = new int[5];
       //动态初始化的默认值输出
       System.out.println("动态初始化默认值输出:" + Arrays.toString(dynamicArray));

       //静态初始化
       int[] quietArray = new int[]{1, 2, 3, 4, 5};
       System.out.println("静态初始化值输出:" + Arrays.toString(quietArray));
   }
}

运行结果:

关于Java数组中的初始化:

概念:在内存当中创建一个数组,并且向其中赋予一些默认值。

两种常见的初始化方式:

        动态初始化(指定长度)

        静态初始化(指定内容)

动态初始化数组的格式:

数据类型[] 数组名称 = new 数据类型[数组长度];

3.2数组的访问

定义一个长度为6的整型数组,采用键盘输入相应的数,并实现数组元素由小到大的排序。

import java.util.Arrays;
import java.util.Scanner;
public class Exam_3_2 {
   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       int[] sortArray = new int[6];
       for (int i = 0;i<sortArray.length;i++) {
           sortArray[i] = scanner.nextInt();
       }
       sort(sortArray);
       System.out.println(Arrays.toString(sortArray));
   }
    public static void sort(int[] sortArray){
           int temp;
           for (int i = 0; i < sortArray.length - 1; i++) {
               for (int j = 0; j < sortArray.length - 1 - i; j++) {
                   if(sortArray[j]>sortArray[j+1]){
                       temp = sortArray[j];
                       sortArray[j] = sortArray[j+1];
                       sortArray[j+1] = temp;
                   }
               }
           }
       }
    }
         

运行结果:

3.3整数除法、浮点数除法与混合除法

        新建Java代码,实现Java的整数除法,浮点数除法和整数与浮点数混合除法。分别计算int a1,b1, c1,为4/5,4.0/5.0,4/5.0的值和当变量为double a2,b2,c2时的值,并输出结果,当出现错误时,采用强制类型转换保证程序的正确性。        

public class Exam_3_3 {
   public static void main(String[] args) {
       int a1 = 4/5;
       int b1 = (int)(4.0/5.0);
       int c1 = (int)(4/5.0);
       double a2 = 4/5;
       double b2 = 4.0/5.0;
       double c2 = 4/5.0;
       System.out.println("a1 = " + a1 + ",b1 = " + b1 + ",c1 = " + c1);
       System.out.println("a2 = " + a2 + ",b2 = " + b2 + ",c2 = " + c2);
   }
}

        在Java中,使用算术运算符+,-,*,/表示加减乘除运算,当参与/的运算的两个操作数都是整数时,表示整数除法,否则,表示浮点除法.整数的求余操作(有时称为取模),用%表示,例如,15/2,15%2,15.0/2.

3.4基本的逻辑运算符的用法

        新建Java代码,实现Java的逻辑运算。给定布尔变量i, j, k, l,i的值为5>6的比较结果,j为i的非,k为i和j的与,l为i和j的或,最后分别将4个结果输出。

public class Exam_3_4 {
   public static void main(String[] args) {
       boolean a = 5>6;
       boolean b = !a;
       boolean c = a&&b;
       boolean d = a || b;
       System.out.println("a = " + a + ",b = " + b + ",c = " + c + ",d = " + d);
   }
}

运行结果:

总结:

1).短路与'&&',与'&':a&&b a&b

        运算规则: a和b同时为true,结果为true;否则结果为false.

        区别:

        a&&b 短路与:a为false结果即为false,不再计算b;

        a&b a,b都要计算

2)短路或'||' ,或'|':a||b a|b

        基本功能:a和b同时为false,结果为false;否则结果为true.

        区别:

        a||b 短路或:a为true结果即为true,不再计算b

        a|b  a,b都要计算

        小技巧:在程序设计时使用&&和||运算符,不建议使用&和|运算符。

3)逻辑非!

        !a:取与a 相反的值,即a为 true,!a为false;a为 false,!a为true。

4)异或^ : a 与 b 相异时,结果为 true ;

5)运算优先级:!最高,其他相同

6)注意:逻辑运算的数据和逻辑运算符的运算结果是boolean类型(true和false)。

三、实验心得

        数组可以存放多个同一类型的数据。数组也是一种数据类型,是引入类型。即数组就是一组数据。数组创建以后,如果没有复制,则有默认值:int - 0 ,short - 0 ,double - 0.0,boolean - false 等。

        数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算,当我们把精度(容量)大的数据类型复制给精度(容量)小的数据类型时,就会报错,反之就会进行自动类型转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小李独爱秋

你的鼓励将是我加更的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值