一、实验目的
熟悉JDK开发环境的安装和配置、掌握常用的JDK命令(这个就是安装java的方法,会就行)
掌握Java各种数据类型以及顺序、选择和循环三种程序结构的使用
二、实验要求
1.正确运行并分析读懂各段程序,了解 Java 基本语法的应用和基本编程结
构
2. 将实验结果书写在实验报告中
三、实验内容
1.JDK 开发工具包安装和配置过程,请参考文档 JDK1.8 安装和配置说明。
2.运行下列程序,观察运行
开胃菜,看看就行,也可以复制运行一下,注意区分代码块
import java.io.IOException; public class Fyt { public static void main(String args[]) throws IOException { //A.程序一 // byte b=0x55; // short s=0x55ff; // int i=1000000; // long l=0xffffL; // char c='a'; // float f=0.23F; // double d=0.7E-3; // boolean B=true; // String S="这是字符串类数据类型"; // System.out.println("字节型变量 b = "+b); // System.out.println("短整型变量 s = "+s); // System.out.println(" 整型变量 i = "+i); // System.out.println("长整型变量 l = "+l); // System.out.println("字符型变量 c = "+c); // System.out.println("浮点型变量 f = "+f); // System.out.println("双精度变量 d = "+d); // System.out.println("布尔型变量 B = "+B); // System.out.println("字符串类对象 S = "+S); // B.程序二 // int k, i=3, j=4; // k=i+j;System.out.println("在复合块外的输出 k="+k); // { // float f;f=j+4.5F;i++;System.out.println("在复合块内的输出 f="+f); // System.out.println("在复合块内的输出 k="+k); // } // System.out.println("在复合块外的输出 i="+i); // //C.程序三 // int x; // System.out.print("请输入 "); // x=System.in.read(); // if((char)x>='a'&&(char)x<='z') // { // System.out.println("小写字母"); // }else if((char)x>='A'&&(char)x<='Z') // { // System.out.println("大写字母"); // }else // System.out.println("其它字母"); //D.程序四 // outer:for(int i=0;i<10;i++) // { // for(int j=0;j<10;j++) // { // if(j>i) // { // System.out.println();continue outer; // }System.out.print("*"); // } // } //E.程序五 // int a[][]={{1,2,3},{4,5,6}}; // System.out.println("数组 a 长度是"+a.length); // System.out.println("数组 a[0]长度是"+a[0].length); // System.out.println("数组 a[1]长度是"+a[1].length); // System.out.println("a[0][0]+a[0][1]+a[0][2]"+(a[0][0]+a[0][1]+a[0][2])); // System.out.println("a[1][0]+a[1][1]+a[1][2]"+(a[1][0]+a[1][1]+a[1][2])); // double b[][]=new double[3][4];System.out.println("数组 b 长度是"+b.length); // System.out.println("数据元素 b[0][0]值是"+b[0][0]); // System.out.println("数据元素 b[0][3]值是"+b[0][3]); // b[2][3]=2.8; // System.out.println("数据元素 b[2][3]值是"+b[2][3]); // int s[][]=new int[2][];s[0]=new int[3]; // s[1]=new int[2];s[1][1]=15;System.out.println("s[1][1]="+s[1][1]);s[0][2]=14; // System.out.println("s[0][2]="+s[0][2]); // F.程序六 // String string1, string2, string3;byte[] byte1 = {72, 101, 108, 111, 32}; // char[] char2 = {'H','e','l','l','o'};string1 = new String(); // string2 = new String(byte1,0,5); // string3 = new String(char2,0,5); // System.out.println();System.out.println("String 1:"+string1); // System.out.println("String 2:"+string2); // System.out.println("String 3:"+string3); // String a = "Alex Michael Hunter"; // System.out.println("Original string: " + a); // String b = a.substring(5);System.out.println("a.Substring(5) : " + b); // String c = a.substring(5,12);System.out.println("a.substring(5,12) : " + c); // String d = a.substring(13,a.length());System.out.println("a.substring(13,a.length()) : " + d); // System.out.println();StringBuffer name = new StringBuffer("Alex");name.append(", Hunter"); // System.out.println("name:"+name);name.insert(3,"abc"); // System.out.println("name:"+name);name.delete(3,7); // System.out.println("name:"+name); } } //上面是练手的
3.编写程序完成下列功能
(1) 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数
字的立方和等于该数本身。
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import java.io.IOException; public class Fyt { public static void main(String args[]) throws IOException { for(int i =100;i<=999;i++){ int sum=0,j=i; while (j!=0){ sum+=(j%10)*(i%10)*(j%10); j/=10; } if(sum==i) System.out.println(i); } } }
(2) 打印以下图案
public class Fyt { public static void main(String args[]){ for (int i= 1; i <= 4; i++) { for (int j = 4; j > i; j--) { System.out.print(" "); } for (int k = 1; k<=(2*i-1);k++) { System.out.print("*"); } System.out.println(""); } } }
(3) 编写一个 Java 语言程序,计算 8+88+888+8888+88888+...的前 10 项之
和。
public class Fyt { public static void main(String args[]){ long num1=0; long num2=0; for(int i=0;i<10;i++){ num1=num1*10+8; num2+=num1; } System.out.println("结果为:"+num2); } }
(4) 用冒泡法实现下列数从大到小的排序
12,25,5,6,7,45,4,23
import java.util.Arrays; public class Fyt { public static void main(String args[]){ int[] arr = {12,25,5,6,7,45,4,23}; System.out.println("排序前"+Arrays.toString(arr)); //排序前{12,25,5,6,7,45,4,23} //下面是定义冒泡排序 for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j]>arr[j+1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } System.out.println("排序后"+ Arrays.toString(arr)); } }
(5) 编写程序,利用选择分支语句实现下列式子的计算,输出 t=1.5 时,y 的
结果。
public class Example { public static void main(String[] args) { double t = 1.5; double y = calculateFunction(t); System.out.println("当t = " + t + "时,函数y的值为: " + y); } public static double calculateFunction(double t) { if (t >= 0 && t < 1) { return Math.pow(t, 2) - 1; } else if (t >= 1 && t < 3) { return Math.pow(t, 2) + 2; } else if (t >= 3 && t <= 5) { return Math.pow(t, 2) + Math.sin(t); } else if (t > 5 && t < 7) { return t + 1; } else if (t >= 7) { return t - 1; } // 因为t的值总在定义范围内,所以理论上不会运行到这里来 return 0; } }
(6) 编写程程序计算 10~20 的整数的平方值,将结果保存在一个数组中,并
输出该数组各元素的值,分两行输出,每行 5 个值
public class Example { public static void main(String[] args) { int[] squares = new int[11]; // 创建一个长度为11的整型数组 // 计算10~20的整数的平方值并存入数组 for (int i = 0; i < squares.length; i++) { squares[i] = (i + 10) * (i + 10); } // 输出数组中各元素的值,每行输出5个值 for (int i = 0; i < squares.length; i++) { System.out.print(squares[i] + " "); if ((i + 1) % 5 == 0) { System.out.println(); // 每输出5个值换行 } } } }
实验一主要还是算法跟安装java的方法为主,开胃小菜哈哈