Java初试到搁浅,再从搁浅到完善
文章平均质量分 91
根据学校开设的网课而兴起写的Java笔记,然后一边工作一边捡起来啦!
汝嫣兮
小白开始,所以记录也是尽可能的以小白的视角去看待,保姆一点没有什么不好的~
展开
-
常见数据结构-栈-队列-数组-链表-哈希表
数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率原创 2021-11-17 14:24:59 · 683 阅读 · 0 评论 -
HashSet集合保证元素唯一性原理分析
在学习HashSet集合时注意到该集合是元素不可重复的,经过自己尝试也确定该特点存在,所以一步步翻源码找了一下该特点的实现源码,于此记录。原创 2021-11-16 18:43:47 · 884 阅读 · 0 评论 -
ConcurrentModificationException 并发修改异常剖析及解决方案
最近在回头打基础学习Java SE,研究List集合的过程中,遇到了ConcurrentModificationException 并发修改异常。在此记录下遇到问题的原因解析和解决方案。错误千奇百怪,解决问题的方法还是通用的,所以也算是记录下遇到问题该怎么自己去利用代码提示寻找原因的方法叭~原创 2021-11-02 15:11:40 · 276 阅读 · 1 评论 -
Java类与对象:方法的定义与调用
对象和类当中的方法【开放问题】分别求出1到10、20到30、35到45的整数和。我们该怎么做呢?在经过前面的学习,我们很自然的想到通过循环累加求和的方法计算int sum = 0;for (int i = 1;i <= 10;i++) sum +=i;System.out.println("Sum for 1 to 10 is " + sum);然后对20到30求和再写这样一段代码sum = 0;for (int i = 20;i <= 30;i++) sum +=原创 2020-06-02 07:22:47 · 1217 阅读 · 0 评论 -
Java数组和字符串:实验-数组和字符串的综合应用
目的:(1)掌握数组的声明、创建及初始化;(2)掌握字数组的常用操作:(3)掌握字符串的声明、创建;(4)掌握字符串的常用操作:文章目录实践一:打印数组元素实验一运行代码:实验二:会员信息验证——密码验证实验二运行代码:实验三:杨辉三角实验三运行代码:实验三:回文串实验三运行代码:方法2方法3实践一:打印数组元素【实验目的】(1) 掌握数组的声明创建;(2) 掌握数组的初始化;(3) 掌握数组常用的操作;打印数组中的元素对所有元素求和找出最大/最小的元素求平均值移动元素数组原创 2020-05-31 19:13:27 · 2002 阅读 · 0 评论 -
Java数组和字符串:练习-凯撒密码
恺撒密码"恺撒密码"据传是古罗马恺撒大帝用来保护重要军情的加密系统。它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。假如有这样一条指令:RETURNTO ROME用恺撒密码加密后就成为:UHWXUQ WR URPH这种加密方法还可以依据移位的不同产生新的变化,如将每个字母左19位,就产生这样一个明密对照表:明:A B C D E F G H I J K L M N O P Q原创 2020-05-31 19:00:31 · 1426 阅读 · 0 评论 -
Java数组和字符串:字符串的操作
String类的操作【字符串长度、字符以及组合字符串】【获取字符串长度】【在字符串中获取单个字符】【字符串连接】【找出字符串中的某个字符或者某个子串】【字符串比较】【获取子串】【字符串的转换、替换和分割】【String类对象与其它数据的转换】字符串与基本数据类型的转换字符串与数组的转换String与StringBuffer/StringBuilder的转换【StringBuffer/StringBuilder类】【StringBuilder的常用构造方法】【StringBuilder的常用方法】1.获取字原创 2020-05-31 18:58:38 · 516 阅读 · 0 评论 -
Java数组和字符串:字符串的声明和创建
在使用计算机的过程当中,我们经常会遇到设计字符串的一些操作问题。假设你需要编写一个程序,该程序用一个新字替换文件中所有出现的某个字。你该如何实现这个功能呢?这里介绍字符串类的一些方法可以解决此类问题。1.字符串常量字符串常量是用双引号引起来的字符序列。对于Java的字符串,不存在终结字符。Java中,一个字符串作为类String的一个对象,字符串常量作为匿名String对象自动创建。Java语言中相同的字符串常量属于同一个对象,占用同一块内存空间,这和C中处理方式不同。2.字符串处理类J原创 2020-05-31 18:42:33 · 1127 阅读 · 0 评论 -
Java数组和字符串:练习-矩阵转置
【课堂练习:矩阵转置】已知一个二维数组A 表示一个矩阵,求AT。 其中,AT 表示矩阵的转置。 矩阵转置的含义:表示把一个矩阵行列互换。例如, 有下面的矩阵M 以及其转置MT:要求:输入二维数组A 表的矩阵的行数和列数,并输入矩阵的数据,矩阵转置后的结果并打印输出。运行代码:import java.util.Scanner;public class JuZhenZhuanZhi { public static void main(String[] args) { Scanner sc原创 2020-05-31 18:32:54 · 752 阅读 · 0 评论 -
Java数组和字符串:多维数组的创建和使用
在学习了一维数组之后,便开始学习多维数组。【动因】目前,你已经使用过一维数组来对线性的元素集合进行建模。你可以使用二维数组来表示矩阵或表格。例如:使用二维数组可以存储下面这个描述城市之间距离的表格。【多维数组】二维数组的声明和创建(1)二维数组的声明数组元素类型 数组名[][];或数组元素类型[][] 数组名;或数组元素类型[] 数组名[];(2) 二维数组的创建① 直接分配(平衡二维数组——矩阵) 数组名 = new 数组元素类型[行数][列数];② 从最高维开始,原创 2020-05-31 18:29:06 · 1729 阅读 · 0 评论 -
Java数组和字符串:练习-竞赛打分
【课堂练习】在某竞赛中,有10个评委为参赛的选手打分,分数为0~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序计算并打印输出选手最后得分。运行代码:import java.util.Scanner;public class JingSai { public static void main(String[] args) { //1. 声明数组 double[] scores; //2. 创建数组对象 scores = new d原创 2020-05-31 18:19:14 · 369 阅读 · 0 评论 -
Java数组和字符串:Array类的使用
在学习一维数组过程中有一个类不得不学,因为它提供了数组的常用操作。【Arrays类提供的数组常用操作】数组排序static void sort(X[]a)对指定的X型数组按数字升序进行排序。static void sort(X[] a,int fromIndex,int toIndex)查找指定元素public static int binarySearch(X[] a,X key)比较数组中的元素equls...原创 2020-05-24 21:12:52 · 183 阅读 · 0 评论 -
Java数组和字符串:关于args数组
学习了一维数组之后,大家也发现main方法里面就有一个参数是一维数组即args[]数组。【关于args[]数组】main()方法是Java应用程序的入口,它不能由其它方法调用和传递参数,而只能由应用程序在启动运行时传递参数。public static void main(String[]args)在DOS环境下执行Java应用程序时,使用“java className arg1 arg2 arg3 … argn”的形式运行该Java应用程序。...原创 2020-05-24 21:10:41 · 415 阅读 · 0 评论 -
Java数组和字符串:一维数组的常用操作
学习了一维数组的声明、创建、初始化及引用,那接下来看一下一维数组有那些常用的操作:文章目录输入使用输入值初始化数组使用随机数初始化数组输出(打印)打印数组中的元素处理对所有元素求和找出最大的元素移动元素(排序)匿名数组输入使用输入值初始化数组Scanner sc new Scanner(System.in); System.out.print("Enter"+myList.length+"walues:"); for(int i = 0;i < myList.length;i++)原创 2020-05-24 21:06:25 · 512 阅读 · 1 评论 -
Java数组和字符串:一维数组的声明、创建、初始化及引用
新的数据类型——数组文章目录引入那么什么是数组呢?数组的结构和基本要素引入尽管我们已经学习了Java基本数据类型:变量、运算符、控制结构等,并且可以综合利用它们解决各种各样的问题。当面临下面这样的问题时还是有些尴尬的:Java考试结束后,老师给小茗同学分配了一项任务,让小茗统计出全年级(100人)的最高分、最低分、平均分和不及格人数,以此分析这段时间的学习效果。如果依靠前面所学的知识,那岂不是要定义100个变量来求平均分?那最高分、最低分与不及格人数又要怎么求呢?这样的问题就就很繁琐,而我们原创 2020-05-24 21:03:05 · 1369 阅读 · 0 评论 -
Java流程控制:实验-控制结构的综合应用:万年历
实践内容——万年历一、实践要求使用Java语言编写Java程序,输出××××年××月对应的日历。效果如下图所示。提示:1、判断润年(四年一闰;百年不闰,四百年再闰)2、键盘读数据:Scanner sc = new Scanner(System.in); int month = sc.nextInt();3、本案例目的是综合使用Java控制结构。4、1900年1月1日是星期一。二、万年历的实现步骤:(1)从键盘读入一个整数的要查询的年份year和月份month。(2)计算历史原创 2020-05-24 20:55:13 · 382 阅读 · 0 评论 -
Java流程控制:实验-控制结构的简单应用:成绩五级制转换
实践-成绩五级制转换将百分制成绩转化为A、B、C、D和F的5级制成绩。标准为:A: 90~100分;B: 80~89分;C: 70~79分;D: 60~69分;F: 60分以下。请编写一程序,实现输入相应的分数,程序运行给出相应的5级制成绩。在这里,提供两种实现方式。文章目录if-else实现:switch-case实现:if-else实现:import java.util.Scanner;public class GradeScore { public static voi原创 2020-05-24 20:51:28 · 2404 阅读 · 1 评论 -
Java流程控制:实验-控制结构的简单应用:运输成本
实践:运输成本一个运输公司使用下面的函数,根据运输重量(以千克为单位)来计算运输成本(以元计算)。编写一个程序。提示用户输入包裹重量,显示运输成本。如果重量大于20,显示信息“该包裹不能被邮递。”如果重量等于或小于0,显示信息“无效输入数据”。运行代码:import java.util.Scanner;public class _3_14_2_PostDemo { public static void main(String[] args) { Scanner sc = new Sca原创 2020-05-24 20:47:37 · 1058 阅读 · 0 评论 -
Java流程控制:实验-控制结构的简单应用:预测未来学费
实践-问题:预测未来学费问题:假设为一个大学今年的学费是10000元,而且以每年7%的速度增加。多少年后学费会翻倍?运行代码:public class XueFei { public static void main(String[] args) { double fee = 10000;//今年的学费 int year = 1; while (fee < 20000) { fee = fee *(1+0.07); year++; } System.原创 2020-05-24 20:45:20 · 538 阅读 · 0 评论 -
Java流程控制:实验-控制结构的简单应用:马克思手稿之趣味数学问题
实践-马克思手稿之趣味数学问题马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;每个男人花3先令,每个女人花2先令,每个小孩花1先令;问男人、女人和小孩各有几人?输出所有可能的组合。运行代码:public class Cost { public static void main(String[] args) { for (int men = 1; men < 30; men++) { for (int woman = 1; woma原创 2020-05-24 20:43:08 · 958 阅读 · 0 评论 -
Java流程控制:实验-控制结构的简单应用:蒙特卡罗模拟
实践-问题:蒙特卡罗模拟蒙特卡洛模拟是使用随机数和概率来解决问题。这个方法在计算数学、物理、化学和金融等方面有广泛的应用。 这里给出的是一个使用蒙特卡罗模拟来估算π的例子。circleArea / squareArea = p / 4.π可以被近似地认为是4 * numberOfHits / 1000000运行代码:public class MonterCol { public static void main(String[] args) { final int TEST = 1原创 2020-05-24 20:34:30 · 328 阅读 · 0 评论 -
Java随机数:Random类
接下来介绍Random这个类,它的作用是用来产生一个随机数这是一个应用对象,需要引用它就需要知道它所在的包的位置,它所在的包为:java.util.Random当我们找到这个包后想要用它必须要实例化它,实例化的结果就是产生一个对象。一个类要想用它必须要通过这个对象去用它,而对象的产生我们必须实例化。不知道你们绕不饶,反正老师讲这句话的时候我的内心是懵逼的实例化的方式就是一个类似数学公式的方式,Random random = new Random()Random对象的功能:方法:(1) nex原创 2020-05-24 20:29:42 · 231 阅读 · 0 评论 -
Java流程控制:实践-打印矩阵及进阶:打印输出99乘法表
着重温习for循环的使用,并利用其嵌套打印输出矩阵与99乘法表。原创 2020-05-24 20:21:47 · 627 阅读 · 0 评论 -
Java流程控制-跳转语句:break和continue语句
【跳转语句】当执行循环达到一定次数后发现没有必要再进行循环是,可以使用跳转语句来终止循环。【break语句】- 一是在switch语句中,表示一个case的结束,退出switch结构;- 二是作为循环控制语句,表示退出本层循环。【continue语句】continue也是循环控制语句,中断当次循环。【return语句】return语句用于函数或方法的返回,其一般形式如下所示。r...原创 2020-04-26 22:10:02 · 520 阅读 · 0 评论 -
Java流程控制-循环结构:for语句及循环的嵌套
文章目录for语句【JDK5中的增强for循环】注意:在学习了三种循环后,该如何选择循环?【嵌套循环】for语句接下来介绍循环结构的for语句,for语句的语法结构是这样的:for(初始操作;循环继续条件;每次迭代后的操作){ 循环体语句}for循环的流程图概念为:具体该怎么用呢?举个栗子:除了这种格式,JDK5之后有了这样一种for循环。【JDK5中的增强for循环】...原创 2020-04-26 22:05:39 · 586 阅读 · 0 评论 -
Java流程控制-循环结构:while与do-while语句及猜数字案例
文章目录while语句注意:do......while语句比较while与do-while语句【示例:猜数字】这节课我们来学习新的控制结构——循环结构。那么我们已经学会使用顺序结构来让机器按部就班的解决问题;也学会了使用选择结构来让机器在特定条件下做某些事情。那么如果我们遇到了这样一个问题:假设你需要打印一个字符串(例如:“Welcome to Java!”)100次。这就需要把下面的输出语句...原创 2020-04-26 21:53:49 · 727 阅读 · 0 评论 -
Java流程控制-选择结构:switch语句及其应用-模拟开始菜单功能
在多分支的选择结构当中,我们除了使用嵌套的if语句,还可以使用一种switch语句语法结构:switch(表达式) { case 值1: 语句块1; break; case 值2: 语句块2; break; … … case 值n: 语句块n; break; default: 语句块n+1;}还记得在学习if嵌套过程中的月份天数案例吗?这里我们使用switch-...原创 2020-04-26 21:39:53 · 1616 阅读 · 0 评论 -
Java流程控制示例2:用if语句实现计算身体质量指数
计算身体质量指数身体质量指数(BMI)是对体重的健康测量,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。将以千克为单位的体重值除以其以米为单位的身高的平方,就得到BMI的值。针对20岁及以上年龄的人群,他们的BMI值的说明如下表所示。BMI值身体健康状况BMI<18.5偏轻18.5≤ BMI<25.0正常体重25.0≤BMI <...原创 2020-04-26 21:29:27 · 1922 阅读 · 0 评论 -
Java流程控制-选择结构:if语句、if-else语句与if语句的嵌套
前面我们也编写过程序,只不过我们的程序都是执行完第一条语句后便依次执行第二条、第三条、第四条……一直到最后,程序从头到尾所有的语句都将按部就班的被执行,没有漏掉任何一条语句,这种结构我们称之为顺序结构。即顺序结构是将程序的每一条语句都按顺序执行一遍。之前我们还写过一个输入半径计算圆的面积的程序:import java.util.Scanner;public class Demo { p...原创 2020-04-26 21:13:01 · 1736 阅读 · 0 评论 -
Java选择结构示例1:使用if语句与if-else语句判断闰年应用
在学习了if语句与if-else语句之后,我们来进行一个简单的练习:判断闰年应用闰年的规则为:四年一闰,百年不闰,四百年再闰。将其转换为数学语言则为:即能被4整除,且不能被100整除,或者能被400整除的年份为闰年要求:编写程序,输入一个年份,并判断这一年是否闰年。如果是,输出闰年的结果,否则输出平年。例如:请输入一个年份:20202020年是闰年运行代码:import j...原创 2020-04-26 21:11:47 · 859 阅读 · 0 评论 -
Java-IPO编程模式示例:摄氏温度与华氏温度 温度转换器
实践【3】温度转换器编写程序实现将摄氏温度转换为华氏温度。从控制台读入double型的摄氏温度celsius,然后将其转换为对应的华氏温度Fahrenheit,并显示结果。转换公式如下所示:Fahrenheit =(9/5)*celsius+32 (华氏度=(9/5)*摄氏度+32)。程序运行示例如下:请输入要转换的摄氏温度:4343.0摄氏度即109.4华氏度问题分析:I:输...原创 2020-04-20 17:20:37 · 1541 阅读 · 0 评论 -
Java-IPO编程模式示例:物理应用编程.求出跑道长度
实践【2】物理应用编程.求出跑道长度假设一个飞机的加速度是a而起飞速度是v,那么可以使用下面的公式计算出飞机起飞所需的最短跑道长度: Length=v2/(2 * a)编写程序,提示用户输入以米/秒为单位的速度v,和以米每平方秒(m/s2)为单位的加速度a,然后显示最短跑道长度。下面是一个运行示例:请输入飞机的起飞速度v的值: 59请输入飞机的加速度a的值: 3.5飞机起飞所需的最短...原创 2020-04-20 17:16:55 · 1243 阅读 · 0 评论 -
Java-IPO编程模式示例:财务应用程序-小费的计算
实践【1】财务应用程序:小费的计算编写一个程序,读入一笔费用与酬金率,计算酬金和总钱数。例如,如果用户读入10作为费用,15%作为酬金率,计算结果显示酬金为¥1.5,总费用为¥11.5。分析问题:目的是为了计算酬金,计算总费用I:输入:一笔费用与酬金率P:处理:计算酬金和总钱数O:输出结果:计算结果显示酬金为¥****,总费用为¥****。运行代码为:为方便阅读,我都加上了注释,...原创 2020-04-20 17:13:42 · 1428 阅读 · 0 评论 -
Java语言基础:IPO编程模式
在设计一个程序时,我们通常采用IPO模式进行设计开发程序。这一篇将介绍如何使用IPO模式。文章目录程序设计IPO模式IPO模式 input-process-output编写程序的一般步骤输入键盘读取:Scanner类程序设计IPO模式—I:Input输入,程序的输入。—P:Process处理,程序的主要逻辑。—O:Output输出,程序的输出。IPO模式 input-process-o...原创 2020-04-20 17:09:19 · 6025 阅读 · 0 评论 -
Java语言基础:运算符和表达式
在实际运行过程中,我们需要对数据进行各种处理,这时便需要用到运算符和表达式。文章目录运算符算术运算符:关系运算符:逻辑运算符:位运算符:赋值运算符:其它:表达式(1)表达式的定义(2)表达式的分类类型转换1) 自动类型转换2) 强制类型转换运算符对各种类型的数据进行加工的过程称为运算。表示各种不同运算的符号称为运算符。算术运算符:+,-,*,/,%,++,--。加,减,乘,除,求余,...原创 2020-04-20 16:56:46 · 234 阅读 · 0 评论 -
Java语言基础:变量、常量
学习了Java数据类型它的应用之后,还需要注意一点,我们不会一直执行一个字面常量。而是我们在程序的运行过程中可能对数据进行加工。有时数据在整个程序运行的过程中都一成不变的,而有些是需要不断的进行计算改变它的值。这样我们就会有常量,变量。同时,我们还需要运算,就需要不同的运算符去表示。文章目录常量变量1)变量的定义2)变量的作用域常量常量是指直接用在程序中、在程序运行过程中固定不变的量。声明...原创 2020-04-20 16:40:22 · 95 阅读 · 0 评论 -
Java数据类型-加强理解示例:国王的麦子
在上一篇数据类型中,我们了解的数据类型的种类,这一篇文章是为了加深理解而专开的。【目的】:认识到数据类型的重要性文章目录使用int型使用long类型使用float类型使用double类型精准获数:国王的麦子你一定听说过这个故事。国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,…后...原创 2020-04-15 21:49:33 · 2416 阅读 · 0 评论 -
Java语言基础:Java数据类型
编写程序和使用计算机都是一个目的,无非就是利用计算机为我们处理数据。文章目录数据类型Primitive主数据类型Java Literal(直接量/字面量)整型boolean型数据类型Java语言的数据类型可分为基本数据类型和复合数据类型两大类。Primitive主数据类型类型位数值域名称BooleanJava虚拟机决定true或false布尔型cha...原创 2020-04-15 20:55:08 · 180 阅读 · 0 评论 -
Java语言基础:标识符和关键字
标识符(1)标识符的概念程序员对程序中的各个元素加以命名时使用的命名记号称为标识符。(2)标识符命名的基本原则。· 区分大小写,标识符长度不限。见名知义。· 由字母、数字、下划线(_)和美元符号($)及所有在十六进制0xc0前的ASCII码组成。· 首字符必须是字母、下划线或$,不能以数字开头。· 不能使用Java关键字。(3)标识符命名的一些约定· 变量名:可大小写混写,首...原创 2020-04-15 20:44:49 · 228 阅读 · 0 评论 -
Java基础名词概念补充
这篇文章是填坑的,配置完Java的环境就直接开始程序设计了,发现好多东西讲不通,光提到一个名称不解释它是什么怎么可以。特此补坑,专门介绍Java中术语的含义,及补充一些知识点。名词目录对象面向对象&面向过程类标识符修饰符关键字包变量类型对象一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。当然,这个对象不是指男女朋友的那种对象,不然程序猿们...原创 2020-04-08 20:50:41 · 175 阅读 · 0 评论