JAVA基础入门学习编程

article/2025/11/8 23:00:55

第一章

使用记事本编写一个HelloWorld程序,并在命令行窗口编译运行,并打印输出结果。

public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World!!");}
}


第二章  

1、请编写程序,实现“1+3+5+...+99”的值。要求如下:

(1)使用循环语句实现自然数1-99的遍历。

(2)在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则就不加。

public class Example {public static void main(String[] args) {int sum=0;for(int i=1;i<100;i++) {if(i%2==1) {sum+=i;}}System.out.println(sum);}
}

2、请使用冒泡排序算法编写程序,实现对数组{25,24,12,76,101,96,28}的排序。

public class Example {public static void main(String[] args) {int[] a= {25,24,12,76,101,96,28};for(int i=0;i<a.length;i++) {System.out.print(a[i]+" ");}System.out.println();for(int i=1;i<a.length;i++) {for(int j=0;j<a.length-1-i;j++) {if(a[j]>a[j+1]) {int temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}for(int i=0;i<a.length;i++) {System.out.print(a[i]+" ");}}
}

第三章  面向对象(上)

1、请按照以下要求设计一个学生类Student,并进行测试。要求如下:

(1)Student类中包含姓名、成绩两个属性。

(2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。

(3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值。

(4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩赋值,另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。

Student类

public class Student {String name;double score;public String getName() {return name;}public void setName(String name) {this.name=name;}public double getScore() {return score;}public void setScore(double score) {this.score=score;}public Student() {name="小明";score=98;System.out.println("我叫"+name+"我考了"+score+"分");}public Student(String n,double s) {name=n;score=s;System.out.println("我叫"+name+"我考了"+score+"分");}
}

测试类

public class Example {public static void main(String[] args) {double score;Student s1=new Student();Student s2=new Student();s1.Student();s2.Student("小王", 80.5);}
}

2、定义一个这样的数列:0,1,1,2,3,5,......(斐波那契数列)。要求如下:

使用递归方法获得第n个数的数值。

import java.util.*;
public class Example {public static void main(String[] args) {int a=0,sum=0;Scanner sc=new Scanner(System.in);int n=sc.nextInt();if(n==1)System.out.println(0);for(int i=2;i<=n;i++) {sum=F(i);}System.out.println(sum);}public static int F(int n){if(n==2||n==3)return 1;elsereturn F(n-2)+F(n-1);}
}

第四章  面向对象(下)

1、设计一个学生类Student和它的一个子类Undergraduate。要求如下:

(1)Student类有name和age属性,一个包含两个参数的构造方法,用于给name和age赋值,前两个参数用于给继承的name和age属性赋值,一个show()方法用于打印Student的属性信息。

(2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,前两个参数用于给继承的name和age属性赋值,第三个参数给degree专业赋值,一个show()方法用于打印Undergraduate的属性信息。

(3)在测试类中分别创建Student对象和Undergraduate对象,调用他们的show()。

//Student.javapublic class Student {String name;int age;public Student(String name,int age) {this.name=name;this.age=age;}void show(){System.out.println("我叫"+name+"我"+age+"岁了");}
}//Undergraduate.javapublic class Undergraduate extends Student{String degree;public Undergraduate(String name, int age) {super(name, age);}public Undergraduate(String name, int age,String degree) {super(name, age);this.degree=degree;}void show() {System.out.println("我叫"+name+"我"+age+"岁了!!我获得了"+degree);}
}//Example.javapublic class Example {public static void main(String[] args) {Student s1=new Student("张三", 18);s1.show();Student s2=new Undergraduate("赵四",20,"学士学位");s2.show();}
}

 2、设计一个Shape接口和它的两个实现类Square和Circle。要求如下:

(1)Shape接口中有一个抽象方法area(),方法接受有一个double类型的参数,返回一个double类型的结果。

(2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回。

在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积。

//Shape.javapublic interface Shape {double area(double value);
}//Square.javapublic class Square implements Shape{@Overridepublic double area(double value) {return value*value;}}//Circle.javapublic class Circle implements Shape{@Overridepublic double area(double value) {return Math.PI*value*value;}}//测试类
public class Example {public static void main(String[] args) {Square s=new Square();Circle c=new Circle();System.out.println(s.area(2));System.out.println(c.area(3));}
}

第五章

1、编写一个程序,实现字符串大小写的转换并倒序输出,要求如下:

(1)用 for 循环将字符串“HelloWorld”从最后一个字符开始遍历。
(2)遍历的当前字符如果是大写字符,就使用 toLowerCase()方法将其转换为小写字符,反之则使用 toUpperCase() 方法将其转换为大写字符
(3)定义一个 StringBuffer 对象,调用 append()方法依次添加遍历的字符,最后调用 StringBuffer 对 象的 toString()方法,并将得到的结果输出。

public class Example {public static void main(String[] args) {String str = "HelloWorld"; // 字符串转成char数组 char[] ch = str.toCharArray();StringBuffer buffer = new StringBuffer();for (int i=str.length()-1; i>=0; i--) {if ((ch[i]>='A') && (ch[i]<='Z')) {buffer.append(String.valueOf(ch[i]).toLowerCase());} else if ((ch[i]>='a') && (ch[i]<='z')) {buffer.append(String.valueOf(ch[i]).toUpperCase());}}System.out.println(buffer.toString());}
}


2、利用Random类来产生5个20~50之间的随机整数。
 提示:[n-m](n、m均为整数,n<m)之间的随机数的公式为n+(new Random()).nextInt(m-n+1)。

import java.util.Random;
public class Example {public static void main(String[] args) {Random rand = new Random();int[] num = new int[5];for (int i = 0; i < num.length; i++) {num[i] = 20 + rand.nextInt(31);System.out.println(num[i]);}}
}

第六章

1、在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。要求如下:

      Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。

//Person.javaimport java.util.*;
class Person {private String name;private int age;public Person(String name,int age) {this.name=name;this.age=age;} public String toString() {return name+":"+age;}public int hashCode() {return name.hashCode();}public boolean equals(Object obj) {if(this==obj) {return true;}if(!(obj instanceof Person)) {return false;}Person p=(Person) obj;boolean b=this.name.equals(p.name);return b;}
}//测试类import java.util.*;
public class Example01 {public static void main(String[] args) {HashSet hs=new HashSet();Person p1=new Person("小明",18);Person p2=new Person("小王",19);Person p3=new Person("小王",20);hs.add(p1);hs.add(p2);hs.add(p3);System.out.println(hs);}
}

2、选择合适的Map集合保存5位学院的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。要求如下:

(1)创建TreeMap集合。
(2)使用put()方法将学号(“1”“2”“3”“4”“5”)和姓名(“Lucy”“John”“Smith”“Aimee”“Amanda”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。
(3)使用 map.keySet()获取键的Set集合。
(4)使用Set集合的iterator()方法获得Iterator对象用于迭代键。
(5)使用Map集合的get()方法获取键所对应的值。

import java.util.*;
public class Example01 {public static void main(String[] args) {Map map=new TreeMap();map.put("1","Lucy");map.put("3","Smith");map.put("2","John");map.put("4","Amiee");map.put("5","Amada");System.out.println(map);System.out.println(map.keySet());Set keySet=map.keySet();Iterator iterator=keySet.iterator();while(iterator.hasNext()) {Object key=iterator.next();Object value=map.get(key);System.out.println(key+":"+value);}}
}


http://chatgpt.dhexx.cn/article/1ptK9fuS.shtml

相关文章

学习Java编程入门书籍

《Head First Java》 《Head First Java》被亚马逊评为十大好书之一。在京东计算机类书籍中热度排名第16位&#xff0c;在Java类书籍中排名第2位。豆瓣评分为8.8分&#xff0c;有百分之54.4%的读者给出了五星评价。在知乎社区中有来自无数位的大神做推荐。哪本书适合推荐给 Ja…

初学者怎么学习java编程

1。java是分为三个主要方向&#xff1a; CS架构&#xff08;java SE&#xff09;。BS架构&#xff08;java web&#xff09;。java手机开发&#xff08;java ME&#xff09;&#xff0c;非Android开发。 &#xff08;1&#xff09;、java CS架构&#xff08;客户端/服务器&am…

Java 学习(一)Java语言基础

Java 语言基础&#xff08;一&#xff09; 前言一、注释和标识符1. 注释2. 字符集3. 标识符4. 关键字(略) 二、数据类型1.基本类型2.引用类型 三、 常量和变量1.常量2.变量 四、操作符1.赋值运算符2.算术运算符3.关系运算符4.逻辑运算符5.位运算符6.三位运算符7.instanceof运算…

怎么学习Java编程,Java初学者指南

怎么学习Java编程&#xff0c;Java初学者指南。Java基于C和C。第一个Java编译器是由Sun Microsystems开发的&#xff0c;是使用C中的一些库用C编写的。Java文件使用编译器转换为位代码格式&#xff0c;然后由Java解释器执行。Java代码在Java虚拟机(JVM)—运行时环境上运行。 J…

9.1 Python 绝对路径与相对路径

第九章 文件的读写操作 9.1 Python 绝对路径与相对路径 9.1.1 准备工作 第1步&#xff1a;对照下图&#xff0c;新建文件和文件夹&#xff1a; 1.在桌面新建文件夹&#xff0c;命名为file。 2.在file文件夹中新建2个文件夹&#xff0c;分别命名为a_file&#xff0c; b_file。…

绝对路径、相对路径详解

绝对路径、相对路径详解 一、概括二、绝对路径、相对路径2.1 Linux文件路径分析2.2 Maven项目路径分析2.2.1、项目路径 二、如何精确查找到资源文件2.1、本地资源文件2.2、网络资源文件2.2.1、先来解释 两个名词&#xff1a;URI 、URL2.2.2、URI 标准格式2.2.3、URI 与 URL 区别…

相对路径和绝对路径及表示

一、介绍 相对路径&#xff0c;它以当前的文件作为一个起点去查找另外的一个文件的所在位置。绝对路径是从电脑盘符或者域名开始的一个完整的路径。绝对路径是可以描述一个文件其各层目录的完整结构。 符号及其符号所代表的意义如下&#xff1a; ./&#xff1a;表示当前的文件…

绝对路径、相对路径、根路径

今天探讨一下浏览器和服务器中的绝对路径、相对路径和根路径 浏览器中 对于浏览器而言&#xff0c;是无法知道服务器中&#xff0c;文件目录路径的。因为浏览器获取的文件资源&#xff0c;很可能跟服务器中文件资源目录不对应。而服务器是知道每个文件和资源在具体的哪个位置…

c/c++ 绝对路径与相对路径

电脑硬盘C盘Program Files下&#xff0c;建新项目“test”&#xff0c;"test"下建立子文件夹“file”和头文件"data.h"&#xff0c;"file"下建新建文件“data.cpp”, 电脑资源管理器显示目录 C:Program Files\test\file\data.cpp 1. 相对路径 …

【详解】绝对路径和相对路径

通俗易懂&#xff1a; ①绝对路径&#xff1a; 在计算机中找到文件的位置&#xff0c;计算机表示文件位置的方式是路径。描述计算机完整的文件位置的路径称为绝对路径&#xff0c;如C:/website/web/a.html&#xff0c;这样我们通过这个路径找到文件的位置。在网站中&#xff0c…

7、绝对路径和相对路径

我们在使用 HTML 中的 <a> 标签、<img> 标签、<link> 标签以及 <script> 标签时往往会涉及到路径。例如 <a> 标签&#xff0c;如果我们在写路径时&#xff0c;使用了错误的路径&#xff0c;就会导致跳转失败&#xff0c;为了避免这种情况&#x…

Java中的绝对路径和相对路径

绝对路径和相对路径&#xff1a; 绝对路径&#xff1a; 绝对路径名是完整的路径名&#xff0c;不需要任何其他信息就可以定位它所表示的文件。&#xff08;注意&#xff1a;文件路径不能出现中文字符&#xff0c;否则可能会报错&#xff09; 相对路径&#xff1a; 在IDEA环境中…

Linux中的绝对路径和相对路径

回到顶部 一、介绍 1&#xff0c;文件路径 什么是文件的路径&#xff1f; 答&#xff1a;这个文件存放的地方&#xff0c;可以联想为 文件的“家”。 在Linux中&#xff0c;存在着绝对路径和相对路径 绝对路径&#xff1a;路径的写法一定是由根目录 / 写起的&#xff0c;例…

最最基础的干货:Linux中的绝对路径和相对路径

路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是Linux中最基本的概念之一&#xff0c;这是每个Linux用户都必须知道的。 路径是指文件和目录的引用方式。它给出了文件或目录在 Linux 目录结构中的位置&#xff0c;由名称和斜杠组成。 /ho…

文件名 绝对路径与相对路径

EGE专栏&#xff1a;EGE专栏 目录 1. 文件路径1.1 DOS路径的构成1.1.1 卷号或驱动器1.1.2 目录名称1.1.3 文件名 1.2 当前目录 (Current directory)程序中当前目录的获取 1.3 切换盘符&#xff08;驱动器跳转&#xff09;1.4 设置当前目录1.4.1 驱动器的当前目录如何查看各驱动…

【软考学习14】绝对路径和相对路径的区别和联系

本文讲解文件存储中绝对路径和相对路径的区别和联系。简单来讲&#xff0c;绝对路径是把文件所在的完整路径逐一标识出来&#xff0c;相对路径是对某个目录的参考路径&#xff0c;在实战项目的开发中&#xff0c;相对路径会使用的多一些&#xff0c;绝对地址可以用于开发调试环…

python绝对路径和相对路径

今天记录一下python绝对路径和相对路径的问题 提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、绝对路径二、相对路径三、如何查看当前所在目录 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可…

python的绝对路径和相对路径

一、绝对路径 一个文件的真实位置&#xff0c;根据这个路径层级可以找到这个文件即绝对路径。在wins上可以通过shift 鼠标右键调出来该文件的绝对路径&#xff0c;shift建按住不要松。 二、相对路径 相对路径即相对于当前的工作文件夹&#xff0c;你的路径是什么。 【绝对路径…

关于绝对路径与相对路径(详细)

绝对路径与相对路径总结&#xff08;详细&#xff09; 绝对路径与相对路径1 绝对路径1.1绝对路径&#xff08;盘符&#xff09;1.2绝对路径&#xff08;网址&#xff09; 2 相对路径2.1 相对路径(平级)2.2 相对路径(上一级)2.3 相对路径(下一级) 绝对路径与相对路径 在页面布局…

【计算机基础】绝对路径和相对路径

目录 一.绝对路径 二.相对路径 例如 三.举例 一.绝对路径 绝对路径是指从根目录开始的完整路径&#xff0c;包括所有父目录的路径&#xff0c;直到目标文件或者目录 所在的位置。 全文件名全路径文件名绝对路经完整的路径 例如&#xff0c;在windows系统中&#xff0c;绝…