
初学Java
文章平均质量分 68
寻梦嬴家
互关!互关!互关!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【无标题】
1.概念:Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。2.优缺点(主要针对微服务)(1)优点①每个服务足够内聚,足够小,代码容易理解、开发效率提高;②服务之间可以独立部署,微服务架构让持续部署成为可能;原创 2023-05-06 09:33:28 · 660 阅读 · 0 评论 -
超市会员管理系统(对象+集合)
println("****************************************欢迎使用超市会员管理系统*****************************************");System.out.println("积分累计成功!+ ",姓名:" + member.getName() + ",可用积分:" + member.getScore()System.out.println("会员" + i + "信息【会员卡号:" + member.getCardId()原创 2022-11-17 22:15:00 · 1211 阅读 · 0 评论 -
JAVA日期操作类
Calendar类也是用老操作日期和时间的类,它可以看作是Date类的一个增强版。System.out.println("现在是:" + year + "年" + (month + 1) + "月" + day + "日,"+ hour + "点" + minute + "分" + second + "秒," + weeks[week - 1]);String[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };原创 2022-11-03 22:00:00 · 399 阅读 · 0 评论 -
JAVA----File类
System.out.println("file2对象指向的是一个目录:"+file2.isDirectory());System.out.println("file1对象指向的是一个文件:"+file1.isFile());System.out.println("file2对象指向的是一个文件:"+file2.isFile());System.out.println("file1对象指向的文件的长度:"+file1.length());原创 2022-10-28 21:48:51 · 224 阅读 · 0 评论 -
QuickHit游戏
在游戏类的printResult(String out,String in)方法中,输出相应结果时肯定会涉及玩家类的信息,如当前级别编号、当前级别积分、当前级别已用时间等,需求中和业务相关的名词主要是游戏、输入速率、玩家、级别、一次显示的字符数、正确输入一次的得分、规定时间、规定次数、超时、玩家的积分和玩家用时等。System.out.println("您已闯关成功,成为绝世高手,恭喜你!如果玩家输入正确且未超时,则输出玩家输入的正确信息(包括级别、积分和用时),并输出玩家当前积分、当前级别和已用时间。原创 2022-10-26 22:00:00 · 191 阅读 · 0 评论 -
JAVA异常
(4)如果try语句块在执行过程中发生异常,try语句块中剩下的代码都将被忽略,系统会自动生成相应的异常对象,包括异常的类型、异常出现时程序的运行状态及该异常的详细描述。发生异常时的执行顺序是,先执行catch语句块中return之前的语句,再执行finally语句块中的语句,最后执行catch语句块中的return语句退出。2)如果try语句块在执行过程中发生异常,并且这个异常与catch语句块中声明的异常类型匹配,那么try语句块中剩下的代码都将被忽略,而相应的catch语句将会被执行。原创 2022-10-25 09:08:07 · 101 阅读 · 0 评论 -
线程同步和线程间的通信
在前面的介绍中,了解了多线程编程中使用同步机制的重要性,并介绍了如何通过同步来正确地访问共享资源。前面说的线程都是独立的,而且异步执行,也就是说每个线程都包含了运行时所需要的数据或方法,而不需要外部资源或方法,也不必关心其它线程的状态或行为。System.out.println("********开始抢票********");System.out.println("********开始抢票********");System.out.println("********开始抢票********");原创 2022-10-24 20:37:03 · 136 阅读 · 0 评论 -
迷你图书管理器(变量+数组)
(i + 1) + "\t" + BookState + "\t" + name[i] + "\t" + dateStr + "\t" + count[i] + "次");(i + 1) + "\t" + BookState + "\t" + name[i] + "\t" + dateStr + "\t" + count[i] + "次");} else if (want.equals(name[i]) && state[i] == 1) { // 找到匹配已被借出。"可借阅" : "已借出";原创 2022-10-22 22:00:00 · 125 阅读 · 0 评论 -
JAVA接口
->接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。(1)Java中接口的作用和生活中的接口类似,它提供一种约定,使得实现接口的类(或结构)在形式上保持一致。-->实现接口的类必须实现接口中定义的所有抽象方法。在具体的代码实现中,体现在方法参数尽量使用接口,方法的返回值尽量使用接口,属性类型尽量使用接口等。(3)一个普通类只能继承一个父类,但能同时实现多个接口,也可以同时继承抽象类和实现接口。-->接口中的所有方法都是抽象方法,接口中的方法都默认为public。原创 2022-10-21 22:29:35 · 112 阅读 · 0 评论 -
吃货联盟订餐系统(对象+数组)
(1)根据本项目的需求分析可知,每条订单的信息都包括订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,并且会有多条订单信息,可以定义一个Order类,在Order类中将订单的各个信息设置为私有属性,再添加这些属性的有参构造方法以及Get/Set方法。订单属性信息有(加private封装):订餐人姓名(name)、选择菜品信息(dishMeg)、送餐时间(time)、送餐地址(address)、订单状态(state)、总金额(sumPrices)。(5)状态:订单的当前状态。原创 2022-10-19 20:54:44 · 228 阅读 · 0 评论 -
多态、抽象方法和抽象类
(2)在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,并且自动地调用引用的对象的方法,也就是根据作用到的不同对象类型,响应不同的操作。(4)多态意味着在一次方法调用中根据包含的对象的实际类型(即实际的子类对象)来决定应该调用哪个方法,而不是由用来存储对象引用的变量的类型决定的。-->抽象方法在子类中必须被实现(子类要重写父类中的抽象方法),如果子类不实现,则子类要定位为抽象类。当调用一个方法时,为了实现多态的操作,这个方法既是在父类中声明过的,也必须是在子类中重写过的方法。原创 2022-10-18 22:00:00 · 123 阅读 · 0 评论 -
Java面试题——基础篇二
当父类的方法被private修饰时,表明该方法为父类私有,对其他任何类都是不可见的,因此如果子类定了一个与父类一样的方法,这对于子类来说相当于是一个新的私有方法,且如果要进行向上转型,然后去调用该“覆盖方法”,会产生编译错误。重载:是让类以统一的方式,处理不同类型数据的一种手段。(1)Java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。“equals”表示比较两个对象,若不重写,输出的是对象的地址,若重写之后则输出对象本身的值。原创 2022-10-17 22:00:00 · 302 阅读 · 0 评论 -
继承和方法重写
a.如果子类的构造方法中没有通过super显示调用父类的有参构造方法,也没有通过this显示调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。用来比较两个对象是否是同一对象,若是,返回true,字符串对象的equals()方法用来比较两个字符串的值是否相等,java.lang.String类重写了Object类中的equals()方法。(2)继承是软件可重用的一种表现,新类可以在不增加自身代码的情况下,通过从现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。原创 2022-10-16 22:30:00 · 228 阅读 · 0 评论 -
JAVA封装
1)一个唯一的包名前缀通常是全部小写的ASCII字母,并且是一个顶级域名com、edu、gov、net及org,通常使用组织的网络域名的逆序。(1)Java中封装的实质就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。(4)封装的好处在于隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制修饰符,来限制不合理操作。(1)用static修饰的方法称为静态方法或者类方法,不用static关键字修饰的方法称为实例方法。原创 2022-10-15 22:30:00 · 243 阅读 · 0 评论 -
方法和构造方法
->通过对象调用重载的方法时,系统的代码智能提示会给出返回类型和参数的信息,使用“↑”和“↓”键或者单击,都可以选择要使用的方法。方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。* 同一个类中不能有同名的成员变量(全局变量),在同一个方法或者结构中,不能有同名的局部变量,不同的方法中可以有同名的局部变量。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量。原创 2022-10-14 22:30:00 · 518 阅读 · 0 评论 -
JAVA入门——对象和类
(2)信息隐藏,提高了程序的可维护性和安全性:封装实现了模块化和信息隐藏,即将类的属性和行为封装在类中,这保证了对它们的修改不会影响到其他对象,利于维护。-->当需要在方法执行的时候为方法传递参数时才需要参数列表,如果不需要传递参数就可以省略,不过小括号不可以省略,传递多个参数时,以半角的逗号进行分隔。//调用有参方法的时候,传递的a和b是实际参数,简称实参,形参和实参的名称不需要一样,但是数据类型要一样。(1)对象数组的数据类型就是具体的类名,对象数组存储的就是这个类的对象,每个数组元素就是一个对象。原创 2022-10-13 22:30:00 · 220 阅读 · 0 评论 -
Java——吃货联盟订餐系统(基础知识)
(1)根据本项目的需求分析可知,每条订单的信息都包括订餐人姓名、选择菜品及份数、送餐时间、送餐地址、订单状态、总金额,并且会有多条订单信息,可以使用数组来保存多条相同的信息。.println("序号\t\t订餐人\t\t餐品信息\t\t\t送餐时间\t\t送餐地址\t\t\t总金额\t\t订单状态");遍历系统中已有的订单,并逐条显示输出,内容包括序号、订餐人姓名、订餐信息(菜品名和份数)、送餐时间、送餐地址、总金额、订单状态(已预订或已完成)。//保存订单状态:0表示已预订,1表示已完成。原创 2022-10-12 22:30:00 · 216 阅读 · 0 评论 -
Java面试题——基础篇一
区别:String是不可变的对象,对每次对String类型的改变时都会生成一个新的对象,StringBuffer和StringBuilder是可以改变对象的。- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double。答:==是操作符,是比较两个对象的地址或基本类型,equals是比较两个对象的内容,属于Object里的方法。- 原始类型: boolean,char,byte,short,int,long,float,double。原创 2022-10-11 20:19:29 · 76 阅读 · 0 评论 -
二维数组案例代码详解
思路分析:当a[i][j]数组的下标满足:i==0 || i==a.length-1 || j==0 || j==a[i].length-1,清理即可。System.out.println("请输入a[" + i + "]一维数组内的" + a.length + "个整数:");System.out.println("请输入a[" + i + "]一维数组内的"+n+"个整数:");System.out.println("请输入a["+i+"]一维数组内的三个整数:");原创 2022-10-10 23:00:00 · 629 阅读 · 0 评论 -
一维数组案例代码详解
思路分析:把最大和最小取出来,剩下的数据放在一个数组里,然后定义一个新数组,和原数组长度一样,新数组的第一个和最后一个是最大值和最小值,直接放进去,刚才的那个剩下的数据按照顺序放在新数组的中间。System.out.print("新的数组为:int[] newNums={");现输入一个数,要求按原来的规律将它插入数组中。System.out.print("交换后的数组为:int[] newNums={");System.out.println("请输入数组后面的几个数放在最前面:");原创 2022-10-10 22:30:00 · 304 阅读 · 0 评论 -
数组常用排序方法
Tips: 选择排序每次交换的元素都有可能不是相邻的, 因此它有可能打破原来值为相同的元素之间的顺序. 比如数组[2,2,1,3], 正向排序时, 第一个数字2将与数字1交换, 那么两个数字2之间的顺序将和原来的顺序不一致, 虽然它们的值相同, 但它们相对的顺序却发生了变化. 我们将这种现象称作 不稳定性 .c、开始高指针向左移动,如果遇到小于中间值的数据,则将这个数据赋值到低指针空缺,并且将高指针的数据看成空缺值(高指针空缺)。//如果低指针的值大于中间值,则覆盖高指针停留时的数据,并向左移动高指针。原创 2022-10-09 22:30:00 · 968 阅读 · 0 评论 -
JAVA二维数组
数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};//数据类型[][] 数组名 = new 数据类型[][]{{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};数据类型[][] 数组名 = {{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};原创 2022-10-08 22:30:00 · 633 阅读 · 0 评论 -
JAVA一维数组
/ Arrays.binarySearch(查找的数组名称,你想要查找的值):在指定的数组中查找你要找的数据,返回这个数据的下标,如果找不到这个值,返回一个负值。// 依次将数组中的元素取出来与这个最小值进行比较,如果元素值比这个最小值还小,就成为新的最小值,比较到最后一个元素,就可以得到数组中的最小值。(2)首元素(第一个元素)的编号规定为0,因此,数组的下标依次为0、1、2、3、4······依次递增,每次增长数是1.* 删除数组strs中的某个元素,删除完这个元素之后,后面的元素依次往前移动一位。原创 2022-10-07 22:30:00 · 163 阅读 · 0 评论 -
Java——常用小技巧总结
(int)(Math.random()*(num2-num1)+num1):随机返回一个[num1,num2)的int类型数据 (num1原创 2022-10-06 22:30:00 · 1101 阅读 · 0 评论 -
循环案例代码详解(2)
规则:从第三个数开始,每一个数是前面两个数之和:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)System.out.print("个位:" + g + " 十位" + s + " 百位" + b + " 千位" + q);System.out.println("将100元兑换为1元、5元、10元的零钱的兑换方法有"+count+"种。System.out.print("个位:" + g + " 十位" + s + " 百位" + b);原创 2022-10-05 22:30:00 · 237 阅读 · 0 评论 -
循环案例代码详解(1)
实现双色球的彩票功能。System.out.println("将100元兑换为1元、5元、10元的零钱的兑换方法有"+count+"种。System.out.println("最小公倍数为:"+(num1C*num2C)/num2);System.out.println("您的第"+k+"注彩票号码为:");System.out.println("这个整数的十六进制数:");System.out.println("这个整数的八进制数:");System.out.println("这个整数的八进制数:");原创 2022-10-04 21:27:36 · 450 阅读 · 0 评论 -
四种图形输出案例
/ 第二颗星星前面的空格数。// 第二颗星星前面的空格数。// 第一颗星星前面的空格数。System.out.println("图形一:");System.out.println("图形二:");System.out.println("图形三:");System.out.println("图形四:");// 第一行一颗星的输出。// 第一行一颗星的输出。原创 2022-10-02 22:30:00 · 1070 阅读 · 0 评论 -
for循环打印九九乘法口诀表
由于最近学习了java语言的for循环,今天在复习巩固知识,练习代码的时候,简单的总结了三种for循环打印九九乘法口诀的方法,加深了自己的理解。a++) //外层循环为a,内层循环执行a次,内层循环不满足跳出到外层循环。//每一行最后一个式子都是两个乘数相等结束如5*5,所以当j>i使,说明该换行了,i的值也要加1。++a)//外层循环一次,内层循环9次,因为1一直乘到9。//因为都是1开头逐次递增乘一个数所以"="号左边以b开头。//外层循环变量,控制行。//外层循环变量,控制行。原创 2022-10-01 22:30:00 · 11392 阅读 · 0 评论 -
三种方式循环获取水仙花数
1、定义 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。2、利用while循环获取水仙花数public static void main(String[] args) { //使原创 2022-09-30 22:30:00 · 6767 阅读 · 0 评论 -
多重循环与循环结构对比
3)for循环:先执行变量初始化部分,再判断循环条件,然后执行循环体,最后进行循环变量的计算。1)while循环:先判断循环条件,再执行循环体。2)do-while循环:先执行循环体,再判断循环条件,循环体至少执行一次。2)循环次数不确定的情况,通常选用while循环和do-while循环。(1)多重循环指一个循环语句的循环体中再包含循环语句,又称嵌套循环。1)外层循环每循环一次,内层循环从头到尾完整的执行一遍。1)循环次数确定的情况,通常选用for循环。2)外层循环控制行数,内层循环控制列数。原创 2022-09-29 22:30:00 · 249 阅读 · 0 评论 -
JAVA循环结构
2)判断循环条件,如果循环条件为true,则执行{}里的循环操作代码块,执行完循环操作代码后执行迭代部分,之后再次进行循环条件的判断,根据循环条件的结果决定是否再执行{}里的代码。2)判断循环条件,如果循环条件为true,则执行{}里的循环操作代码块,并执行迭代部分,之后再次进行循环条件的判断,根据循环条件的结果决定是否再执行{}里的代码。因此如果第一次循环条件就不满足,循环操作也会执行一次。3)执行完1次{}里的代码后判断循环条件,如果循环条件为true,继续执行{}里的循环操作代码块和迭代部分,原创 2022-09-28 22:30:00 · 90 阅读 · 0 评论 -
switch选择结构
switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。System.out.println("冬季");// System.out.println("冬季");// System.out.println("冬季");// System.out.println("春季");// System.out.println("春季");原创 2022-09-27 22:30:00 · 125 阅读 · 0 评论 -
Java选择结构—if选择结构
3)如果条件1的结果为false,再对条件3的结果进行判断。2)如果条件1的结果为true,再对条件2的结果进行判断。1)不论多分支if语句中有多少个条件,只会执行符合条件的一个,如果没有符合条件的,则执行else子句中的语句。如果条件2的结果为false,则判断条件3的结果。1)else子句不能单独使用,它必须是if语句的一部分,与最近的if语句配对使用。3)如果条件的结果为false,跳过大括号里的语句,执行if结构后面的语句。2)如果条件的结果为true,执行大括号里的语句。原创 2022-09-26 22:30:00 · 170 阅读 · 0 评论 -
Java流程控制结构
(4)循环结构:循环结构是根据判断条件来重复性地执行某段代码。Java提供了while语句、do-while语句、for语句来实现循环。(3)选择结构:选择结构是根据条件判断的结果来选择执行不同的代码。选择结构可以细分为单分支结构、双分支结构和多分支结构。Java提供了if控制语句和switch语句来实现选择结构。(2)顺序结构:顺序结构是指程序从上向下依次执行每条语句的结构,中间没有任何的判断和跳转。(1)在Java中有3种流程控制结构:顺序结构、选择结构、循环结构。原创 2022-09-26 09:36:31 · 1308 阅读 · 0 评论 -
Java运算符的优先级和数据类型与运算符章节总结
6、 Java中的6大运算符,分别是赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符和条件运算符。2、Java中的注释分为单行注释、多行注释和文档注释,同时明确了几种注释的使用场合和使用方法。(3)结合性:运算的方向,大多数运算符的结合性都是从左向右,即从左向右依次进行运算。(2)优先级:在表达式运算中的运算顺序。(8)结合性从右向左的只有赋值运算符、三目运算符和单目运算符(一个操作数)。(1)Java中的各种运算符都有自己的优先级和结合性。(4)优先级别最低的是赋值运算符,其次是条件运算符。原创 2022-09-25 22:30:00 · 453 阅读 · 0 评论 -
常用运算符
(2)对于除法运算符,如果两个操作数均是整数,结果也是整数,会舍弃小数部分;(6)|和||的区别:当||的左侧为true时,将不会计算其右侧的表达式,即左true则true;(3)对于取模运算符(取余运算符)/,如果两个操作数均是整数,结果也是整数;(2)Java中共有6个逻辑运算符,分别是&(逻辑与)、|(逻辑或)、^(逻辑异或)、!(8)如果操作数是char、byte、short,位运算前其值会自动晋升为int,运算结果也为int。原创 2022-09-24 22:30:00 · 1124 阅读 · 0 评论 -
Java数据类型转换与Scanner类的使用
强制类型转换:将高级别的类型赋值给低级别类型时,必须进行强制类型转换。hasNext()----------->判断是否有数据输入,如果有输入数据,则返回true;(2)除布尔类型外,所有基本数据类型进行运算时都要考虑类型转换,主要应用在算术运算时和赋值运算时。sc.nextDouble()----->获得一个双精度类型数值。------->获得一个整型数值。(1)不同的基本数据类型之间进行运算时需要进行类型转换。---------->获得一个字符串。(3)强制类型转换,可能会丢失数据。原创 2022-09-23 22:30:00 · 188 阅读 · 0 评论 -
Java数据类型与Java中的常量
(2)Java中主要分为两种数据类型:基本数据类型、引用数据类型。(1)常量:在程序运行中值不能改变的量,使用final修饰。(1)Java是强类型语言,在定义变量前需要声明数据类型。、布尔常量、字符常量、字符串常量、null常量、符号常量。整数类型:byte、short、int、long。2)多个单词之间使用下划线_分隔。(4)Java中的基本数据类型取值范围。1)常量名所有英文字符全部大写。浮点类型:float、double。布尔型:boolean。整型常量、浮点型常量。原创 2022-09-22 22:00:00 · 242 阅读 · 0 评论 -
Java中的注释和Java关键字
(2)使用JDK提供的javacdoc命令,讲代码中的文档注释提取出来,可自动生成一份HTML格式的API帮助文档,其风格与API帮助文档完全一样。好的注释可以提高软件的可读性,减少软件的维护成本。(2)在MyEclipse中默认按Ctrl+/快捷键,可以自动产生单行注释,再按Ctrl+/可以取消单行注释。(3)在MyEclipse中,输入“/**”,然后按Enter键,MyEclipse会自动显示文档注释格式。(1)单行注释指的是只能书写在一行的注释,是最简单的注释类型,用于对代码进行简单的说明。原创 2022-09-21 00:15:00 · 225 阅读 · 0 评论 -
变量和变量命名规则
->访问修饰符可以省略不写,也可以写public、protected、private。(1)变量:存储数据的空间(装数据的容器)。(2)标识符的首字母以字母、下划线或美元符号开头(不建议使用美元符号开头),不能以数字开头。(3)标识符的命名不能与关键字、布尔值(true、false)和null相同。(5)使用小驼峰命名法(除第一个单词首字母小写外,其它单词的首字母大写)(1)标识符由字母、数字、下划线(_)、美元符号($)组成。-->"变量名"是定义的名称变量,要遵循标识符命名规则。原创 2022-09-20 11:43:27 · 608 阅读 · 0 评论