第一章

使用记事本编写一个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);}}
}

JAVA基础入门学习编程相关推荐

  1. Linux中的Java类,Java基础入门学习-Java中类的属性

    Java基础入门学习-Java中类的属性 发布时间:2006-05-27 00:46:15来源:红联作者:WWW Public.private.protected显示了三种类中的属性和服务的类型,pu ...

  2. Java基础入门--学习笔记

    Java基础入门教程 itheima–java基础小白教程 学习配套软件:eclipse 1.基础知识 (1)常用DOS命令:切换盘–>E:,cd–>进入文件,可多级,cd - --> ...

  3. JAVA基础入门学习

    书籍推荐和视频推荐 Java核心卷I java核心卷II可以买也可以不买.java核心卷I只看前9章,其他不用看.身边同学都认为这本书不适合初学者,但是如果你之前看过java学习视频,那么这本书很适合 ...

  4. 一篇文章让你从JAVA零基础入门`OOP`编程12.19

    一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后,整理的文章,文中对知识点的解释仅为个人理解. 配套PPT,站点源码,等学习资料 一.预科 1.1 JAVA 介 ...

  5. Java零基础入门学习教程(纯干货知识点+视频资源)

    Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用. 有许多应用程序和 Web ...

  6. 一篇文章让你从JAVA零基础入门`OOP`编程12.20

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.png)] 一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后, ...

  7. 一期完结《一篇文章让你从JAVA零基础入门`OOP`编程》12.21

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(QQ_3336392096.jpg)] 一篇文章让你从JAVA零基础入门OOP编程 前言: 此文为玄子,复习ACCP-S1课程后, ...

  8. 零基础入门学习Java,如何快速打好基础?

    从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用. 因为是在工作中培训,就必然有两个约束:实用.时间紧,因此就不能像大学 ...

  9. 零基础入门学习Python(33)-图形用户界面编程(GUI编程)EasyGui

    用户界面编程,即平时说的GUI(Graphical User Interface)编程,那些带有按钮.文本.输入框的窗口的编程 EasyGui是一个非常简单的GUI模块,一旦导入EasyGui模块,P ...

最新文章

  1. hdu4909 状态压缩(偶数字符子串)
  2. lt;xliff:ggt;标签
  3. 使用CMS垃圾收集器产生的问题和解决方案
  4. html中.inner样式,JavaScript-DOM动态控制Html标签对象样式和innerHTML、className属性
  5. 【报告分享】2020年中国智慧城市发展研究报告.pdf(附下载链接)
  6. TreeSet—————我们认知的集合
  7. EMNLP2021 | 标签推理的细粒度实体识别
  8. html5响应式的插件,Chocolat-jQuery响应式LightBox插件 -HTML5功能
  9. ISSCC2021 基于SRAM的存内计算16.3阅读记录
  10. Android Studio连接MuMu模拟器
  11. 武汉科技大学计算机转专业吗,武汉科技大学可以转专业吗,武汉科技大学新生转专业政策...
  12. web开发第三方登陆之微信登陆
  13. 开放存取知识库及其数据采集规范的研究
  14. AI可以自动生成绘画吗?分享几款AI绘画软件
  15. 大学生英语竞赛大揭秘准备攻略
  16. C语言中的atoi函数的实现
  17. 从月薪3千到3万,需要努力多久?
  18. webpack中处理css文件
  19. 抖音矩阵系统,抖音矩阵系统源码。抖音SEO源码。
  20. amd兼容AM3服务器cpu型号,兼容性超强的AM2/AM2+/AM3接口_主板新闻-中关村在线

热门文章

  1. 计算机音乐乐谱再也没有,在古代.这类音乐作品只有文字记载.没有乐谱资料.既无法演奏.也无法演唱.(在“既无法演奏 前加上“在今天 )...
  2. Wireshark研究血族Bloodline手游聊天系统 - 初尝试
  3. 谷歌浏览器主页图片设置
  4. 四、服务注册与发现Consul
  5. 2021-7-5目录穿越ssrf配合RFI漏洞学习笔记转
  6. LFI/RFI漏洞相关
  7. 第 1 章 Logical Volume Manager (LVM)
  8. 就在本周末!北美最牛X的餐饮大咖都找齐了,值得你来朝圣这一次
  9. Vue | 显示切换(v-if与v-show,display,visibility与opacity)
  10. 简单五步设置群晖NAS绑定自有域名实现外网访问