
重新开始学Java-2020
Java语法及相关知识的复习
hpe实训记录
正向指数增长
这个作者很懒,什么都没留下…
展开
-
java基础07 常用类StringBuffer和Date
StringBuffer:在Java中,最常用的引用类型是String类型,但是每一次定义一个新的字符串总是要在堆上定义一个new String。这样做缺点明显——当对一个字符串类型的变量(假设为str1)重新赋值时,总要在堆上占用一块新的内存,当一个内存反复被修改时,会造成极大的内存损耗。为了解决这一问题,Java中定义了一个新的类:StringBuffer。以下定义来源于Java8中文...原创 2020-01-13 20:18:30 · 196 阅读 · 0 评论 -
java练习 抽象类与接口03
题目:设计抽象类Door,它拥有所有门的共性方法open ()和close ()。设计防火接口FireSafe,该接口有一个抽象方法fireProof()。设计防弹接口BulletSafe,该接口有一个抽象方法bulletProof()。综合利用继承、抽象类、接口的知识设计出防火门FireProofDoor和防弹门BulletProofDoor两个类。设计Test类的main()方法...原创 2020-01-09 11:51:13 · 674 阅读 · 0 评论 -
java练习 抽象类和接口02
题目:创建一个名称为Vehicle的接口,在接口中添加两个无参的方法start()和stop()。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中使用多态的方式创建Bike和Bus对象并访问其start()和stop()方法。代码:public interface ...原创 2020-01-09 11:28:45 · 904 阅读 · 1 评论 -
java练习 抽象类和接口01
题目:创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个名为run的实现打印”Running”功能的方法和一个名为wheelsNum的抽象方法,该方法没有返回值。创建两个类Car和Motorbike,均继承自Vehicle,并在这两个类中实现wheelsNum方法。在Car类中应当显示“四轮车”信息,而在Motorbike类中应当显示“双轮车”信息。创建另一个带...原创 2020-01-09 11:15:02 · 818 阅读 · 0 评论 -
java练习 继承04
题目:(1)编写一个圆类Circle,该类拥有:①一个成员变量radius(私有,双精度型); // 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③ 三个成员方法double getArea( ) //获取圆的面积...原创 2020-01-09 10:52:09 · 412 阅读 · 0 评论 -
java练习 继承03
(1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的,成员变量x和y,获取和设置x和y值的public方法。(2)设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。(3)设计一个表示圆柱体的类Cylinder,它继承自类...原创 2020-01-09 10:19:25 · 1314 阅读 · 0 评论 -
java练习 继承02
请编码实现动物世界的继承关系:动物(Animal)具有行为:吃(eat)、睡觉(sleep)、移动(move)动物包括:兔子(Rabbit),老虎(Tiger),鹰(eagle)这些动物吃、移动的行为各不相同(eat,move动作不同);但睡觉的行为是一致的。public class Animal { public void eat() { System.out.print...原创 2020-01-09 10:04:44 · 6299 阅读 · 0 评论 -
java练习 继承01
定义一个人的类(属性有名字,年龄,性别。写一个能输出各个属性值的方法showInfo()),定义一个学生类(属性有学号),学生继承人类,要求:(1)父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现);(2)子类的属性也用构造方法来赋值;(3)在子类中重写父类的showInfo()方法(4)声明学生类的对象,调用学生的显示信息的方法。public cla...原创 2020-01-09 09:56:41 · 2001 阅读 · 0 评论 -
java练习 封装
定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;...原创 2020-01-09 09:36:17 · 1079 阅读 · 1 评论 -
java基础07 面向对象---类和对象
常用类---String Date类抽象类---被继承-----父类接口-----被实现-----父类1.API文档----应用程序编程接口,指一些预先定义好的类1)左上角---包2)左下角---包中的类和接口3)右侧-----类的详细信息 |-----构造方法 Constructor |-----属性 Field |-----方法 Metho...原创 2020-01-09 08:53:45 · 179 阅读 · 0 评论 -
java设计模式01 单例设计模式
单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例)单例设计模式有懒汉式和饿汉式两种表现形式.1.懒汉式---非线程安全的/* * 设计一个符合单例设计模式的类 *//* * 单利设计模式 ---饿汉式 */public class Single { ...原创 2020-01-08 08:56:51 · 221 阅读 · 0 评论 -
Java练习 直接打印数组
public static void main(String[] args) { int arr[] = {1,55,4151,12,234,56,17}; System.out.println("直接填写数组名:"); System.out.println(arr); System.out.println("打印数组中的内容用Arrays.toString方法"); ...原创 2020-01-07 16:29:25 · 417 阅读 · 0 评论 -
Java 冒泡排序优化
优化后对已经排好序的数组排序的时间复杂度为O(1)public class Test { //冒泡排序 public static void main(String[] args) { int arr[] = {1,2,3,4,5}; boolean flag = false;//假定数组是已经排好序的 for (int i = 0; i < arr.length-1...原创 2020-01-07 16:28:37 · 166 阅读 · 0 评论 -
java基础06 多态与集成+几个关键字(this,static,final,abstract,extend)
1.this 1)表示当前对象:public class Person { private String name; public void setName(String name) { //表示当前对象 this.name = name; } } 2)表示当前类的构造方法(默认的无参的构造方法,带参数的构造方法) this()p...原创 2020-01-07 11:55:22 · 282 阅读 · 0 评论 -
java基础05 面向对象
1.面向过程(C)和面向对象(C++、Java、GO、python)面向过程是用动作操作对象,面向对象是对对象进行操作。例子:把大象放冰箱: 1.把冰箱门打开 2.把大象装进冰箱 3.把冰箱门关上 面向过程----过程----动作 1.打开(冰箱门) 2.装进(冰箱, 大象) 3.关闭...原创 2020-01-04 14:25:24 · 209 阅读 · 0 评论 -
Java基础04 方法(函数)
1.为什么要使用方法(函数)? 为了提高代码的重(chong,二声)用性,避免代码冗余。2.怎么去做? 方法定义。 [修饰符] 返回值类型 方法名(参数列表){ //方法体 return 返回值; } 备注: 1)修饰符在某些场合下可以没有,当前修饰符写成public static; 2)返回值类型要...原创 2020-01-02 11:53:23 · 242 阅读 · 0 评论 -
选择排序
工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。public class SelectSort { public static void main(String[] args) { int ar...原创 2020-01-02 09:54:09 · 196 阅读 · 1 评论 -
java基础03 数组
1.为什么要有数组? 有大量相同类型元素需要处理----数组、集合(List、Set、Map)2.概念 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器 1)既可以存放基本数据类型元素,也可以存放引用数据类型元素 2)数组本身是引用数据类型 3)初始化之后长度不可改变3.数组的定义 数据类型[] 数组名;int[] array = ...原创 2020-01-02 08:41:28 · 174 阅读 · 0 评论 -
Java基础02
循环if(条件表达式)语句1;语句2;…语句n;if(条件表达式);{语句1;语句2;…语句n;}for(); {}控制流程----三种程序结构1.顺序结构写在前面的先执行,写在后面的后执行。2.获取键盘输入—扫描器1)导入相应的包—import java.util.Scanner;2)创建扫描器对象—new Scanner(System.in);3)获...原创 2019-12-31 14:43:38 · 191 阅读 · 1 评论 -
java练习 回文数
/* * 17. 所谓回文数是指正着数和倒着数一样大, * 比如1001,5005,8228,9999。请打印出1000-9999之间所有的回文数(选作) */public class Test17 { public static void main(String[] args) { for (int i = 1; i <=9; i++) { for (int j =...原创 2019-12-31 11:55:18 · 701 阅读 · 0 评论 -
java练习 百鸡百钱
/* * 百元钱买百只鸡问题)一只公鸡5元钱,一只母鸡3元钱,三只小鸡1元钱。 * 要求100元买100只鸡,请给出所有可行的结果?(选做) */public class Test16 { public static void main(String[] args) { for (int i = 0; i <= 20; i++) { for (int j = 0; j...原创 2019-12-31 11:54:42 · 388 阅读 · 0 评论 -
java练习 圣诞树2
import java.util.Scanner;/* * 使用循环打印以下圣诞树:(选做) * *** ***** ******* ********* *********** 要求输入树的高度,打印圣诞树。 解题思路: 1、双层...原创 2019-12-31 11:53:48 · 1934 阅读 · 1 评论 -
java练习 密码验证
import java.util.Scanner;/* * 要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确, * 请重新输入。正确时结束循环,提示登陆成功 */public class Test6 { public static void main(String[] args) { Scanner sc = new Scanner(System.i...原创 2019-12-31 11:52:42 · 626 阅读 · 0 评论 -
Java练习 打印九九乘法表(两种)
打印九九乘法表(两种):public class Test8 { public static void main(String[] args) { int m = 9; int n = 9; for(int i=1;i<=9;i++){ for(int j=1;j<=9;j++){ {System.out.print(i+"*"...原创 2019-12-31 11:52:31 · 341 阅读 · 0 评论 -
java练习 最大值
Note:String类型强制类型转换为int型用int num = Integer.parseInt(x);import java.util.Scanner;/* * 不断要求用户输入一个数字(假定用户输入的数字都是正整数), * 当用户输入end的时候显示刚才输入数字中的最大值。 */public class Test9 { public static void mai...原创 2019-12-31 11:52:20 · 297 阅读 · 0 评论 -
java练习 求阶乘
import java.util.Scanner;/* * 使用for循环实现: * 根据用户输入的正整数n,求n!, * 即n!=n*(n-1)*(n-2)*…*1。(选做) */public class Test14 { public static void main(String[] args) { Scanner sc = new Scanner(System.in...原创 2019-12-31 11:52:09 · 338 阅读 · 0 评论 -
java练习 输出100以内的质数
/* * 打印出100以内的质数,一行显示5个, * (质数是只能被1跟自身整除的数,1不是质数) */public class Test11 { static boolean isPrime(int num){ //两个较小数另外处理 if(num ==2|| num==3 ) return true ; //不在6...原创 2019-12-31 11:51:57 · 1018 阅读 · 1 评论 -
java练习 车费问题
import java.util.Scanner;/* * 某城市出租车计费问题: 每日06:00-21:00,起步价6元,当日22:00-次日05:00,起步价7元。0~23 起步价包含2公里,超出部分按照每公里1.5元收费。 每次乘车加收1元的燃油附加税。 输入打车的时间和距离,计算本次打车的费用。 */public class Test12 { public s...原创 2019-12-31 11:51:33 · 1833 阅读 · 1 评论 -
java练习 摘桃子
/* * 13. 有一只猴子摘了一堆桃子,每天吃掉一半桃子还不过瘾再多吃一个, * 吃到第十天的时候发现还剩下一个桃子,问猴子第一天一共摘了多少个桃子?(选做) 解题思路: 第10天:桃子数是:1 第9天:桃子数是:(1+1)*2=4 第8天:桃子数是:(4+1)*2=10 … 总结:前一天的桃子数=(后一天的桃子数+1)*2。 */public class Test13 ...原创 2019-12-31 11:51:25 · 639 阅读 · 0 评论 -
java练习 求面积
编写程序,设计一个图平面积计算,选择不同的图形输入数字计算面积,选择4退出程序。效果如下:import java.util.Scanner;public class Test5 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num; do {...原创 2019-12-30 19:32:03 · 1072 阅读 · 0 评论 -
java练习 do-while
输入序号选择功能,效果如下::import java.util.Scanner;public class Test4 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num; do{ System.out.println("*****...原创 2019-12-30 19:16:56 · 518 阅读 · 0 评论 -
java练习 正负数个数统计
Note:简单的do-while循环。由于输入必须要先运行,所以用do-while而不用while。import java.util.Scanner;/* * 输入数量不确定的正数和负数(一次输入一个), * 然后打印正数和负数的个数,当输入0时,程序停止 */public class Test3 { public static void main(String[] a...原创 2019-12-30 17:10:41 · 3420 阅读 · 0 评论 -
使用while/do-while/for循环三种方式打印100以内4的倍数
/* * 使用while/do-while/for循环三种方式打印100以内4的倍数 */public class Test2 { public static void main(String[] args) { System.out.println("while"); int i = 0; while (i <= 100) { if (i % 4 == 0) ...原创 2019-12-30 17:00:28 · 3217 阅读 · 0 评论 -
java练习 闰年
备注:for、if 联合使用/* * 1. 已知判断闰年的规则是:能被4整除, * 但是不能被100整除。或者能被400整除。 * 打印从1900年至2050年期间所有的闰年。 */public class Test1 { public static void main(String[] args) { for(int i = 1900; i <= 2050; ...原创 2019-12-30 16:59:51 · 369 阅读 · 0 评论 -
for循环练习 打印圣诞树
备注:更改m和n的值可以整体修改圣诞树的行数和列数。其中m代表行,n代表列。/* * 作业5:打印圣诞树 * *** ***** ******* ********* */public abstract class Test5 { public static void main(String[] args) {...原创 2019-12-30 09:08:49 · 4265 阅读 · 1 评论 -
for语句练习 水仙花数
备注:三重嵌套循环即可。* * 作业4:for语句练习 输出所有的水仙花数,所谓水仙花数是指一个3 位数,其各个位上数字立方和等于其本身。 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 */public class Test4 { public static void main(String[] args) { System.out...原创 2019-12-30 09:03:14 · 694 阅读 · 0 评论 -
swich语句练习 四季
备注:swich 语句有一个特性——不遇到break不会结束循环,而是继续运行直到break结束。根据这个特性可以节省很多返回相同结果的case。import java.util.Scanner;/* * 1作业3:switch语句练习 3.根据用于指定月份,打印该月份所属的季节。 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 *...原创 2019-12-30 09:01:39 · 531 阅读 · 1 评论 -
if语句练习 整数排序
import java.math.BigDecimal;import java.util.Scanner;/* * 1.1.2 作业2:if语句练习 由键盘输入三个整数分别存入变量num1、num2、num3, 对它们进行排序(使用 if-else if-else),并且从小到大输出。 */public class Test2 { public static void m...原创 2019-12-30 08:58:25 · 646 阅读 · 0 评论 -
if语句练习 期末成绩
/* * 1.1.1 作业1:if语句练习 从键盘输入小明的期末成绩。? 当成绩为100分时,奖励一辆BMW;? 当成绩为(80,99]时,奖励一个台iphone5s;? 当成绩为[60,80]时,奖励一本参考书;? 其它时,什么奖励也没有。 */import java.util.Scanner;public class Test1 { public stati...原创 2019-12-30 08:56:08 · 1699 阅读 · 0 评论 -
Java基础01
1.关键字(保留字)有特殊功能,已经被事先定义的特殊字符。表现为不能被定义为变量的单词。在编程是熟悉即可,不需要特意去记。定义: 被Java语言赋予了特殊含义,用做专门用途的字符串(单词)保留字: 现在还没有被使用的关键字。(未来或许会使用)2.标识符用来起名的单词(词组、组合) 标识符的命名规范: 1).可以包含字母、数字、_、$...原创 2019-12-27 18:35:16 · 210 阅读 · 0 评论