
javaSE
java基础
qq_45162113
123456
展开
-
java——稀疏数组和二维数组的相互转换
稀疏数组当一个数组中大部分元素为0,或者为同一个值的数组时。可以使用稀疏数组来保存该数组,可有效减少存储空间。存储方法:1)记录数组一共有几行几列和有多少个不同的值2)把具有不同值的元素是的行列及值记录在一个小规模的数组中,从而缩小程序的规模例如下面二维数组将该数组转换成稀疏数组应该为下表所示行列值67803220615111...原创 2020-04-14 18:44:27 · 344 阅读 · 0 评论 -
Java抛异常的三种方式throw、throws、try-catch
我们在编写程序中难免会遇到一些错误,在java中通常有两种报错:异常(Exception)和错误(Error),一般来讲Error的严重性大于Exception。程序错误共分为三种1、 编译错误:即不符合java的语法规则。在编译时程序能自己发现错误并能给出错误原因和位置,也是入门时最常遇到的错误。2、 运行时错误:即在运行过程中出现的错误,常见的错误有类型转换出错、角标越界、算数异常、输入...原创 2020-02-10 17:39:02 · 1088 阅读 · 0 评论 -
Java中String类型的常用方法
1、String类型char类型只能表示一个字符,为了表示更多字符,可以使用String(字符串)的数据类型。例如:String str="Hello World";String其实是Java库中的一个预定义的类,String不是基本类型,而是引用类型,使用引用类型的变量称为引用变量,它引用一个对象。2、String常用方法1)、length() 返回字符串中的字符数...原创 2019-08-03 19:42:30 · 479 阅读 · 0 评论 -
Java函数的递归
递归简介:递归是一种针对使用简单的循环难以编程实现的问題,提供优雅解决方案的技术,递归方法是调用自身的方法。如下图展示递归调用的执行过程:注意:使用循环来实现 factorial 方法是比较简单且更加高效的。如果递归不能使问题简化并最终收敛到基础情况,就有可能出现无限递归,会导致一个 StackOverflowError(栈溢出)的错误。递归与for循环的对比:例如:打印出斐波那契数列的...原创 2019-07-25 18:42:48 · 856 阅读 · 0 评论 -
Java中数学函数Math方法大全
1、三角函数与属性Math.sin() – 返回数字的正弦值Math.cos() – 返回数字的余弦值Math.tan() – 返回数字的正切值Math.asin() – 返回数字的反正弦值Math.acos() – 返回数字的反余弦值Math.atan() – 返回数字的反正切值Math.atan2() – 返回由x轴到点(x,y)的角度(以弧度为单位)Math.PI 属性 – ...原创 2019-07-23 19:21:34 · 581 阅读 · 1 评论 -
for循环和while循环的相互转换
for循环和while循环都是我们能经常用到的方法。for循环的格式为:for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}while循环的格式为:while(条件表达式){执行语句;}然而这两种循环是可以相互转换的eg:下面分别时while和for的死循环格式再例如:while程序:结果:for程序:结果:可见for里面不一定非得是(...原创 2019-07-22 18:00:19 · 16098 阅读 · 1 评论 -
Java中三种方法交换两个变量的值
1、中间变量 是最普也是最广泛使用的交换方式:这种方法很容易理解,就是创建temp中间变量,m把值给temp,n给m,temp将m的值给n,这样就实现了交换。2、加减运算 前提只能是数字因为这种方法需要运算,所有只能是数字,eg:m=8,n=2;第一步求出两数的和为10,传给m,再用总数减去n就是原来m的值,传给n,然后总数再减去原来m的值,得到原来n的值,传给m,实现交换。3.异或运...原创 2019-07-21 19:09:57 · 10187 阅读 · 1 评论 -
Java数据类型转换常见问题
1.整数类型例1如下图是一个简单的byte类型数据运算.该程序看似没有错误,当我运行时会发现运行出错这是因为a和b都是byte类型,a和b都在byte的表示范围内,而a+b可能会超出这个范围,虽然“1”和“3”相加也在这个范围内,但是在编译时系统会默认将后面的数字看成最大表示值,这样会使转换时有数据损失,所以系统将会报错。解决方案:将byte c=a+b;前面的byte替换为short ...原创 2019-07-18 20:05:56 · 339 阅读 · 1 评论 -
Java中next()方法和nextLine()方法的区别
next()会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。eg:输入:a b c(回车)e f g//中间000是用来分隔str1和str2的结果。如果将next()和nextLine()互换位置则:继续输入刚刚的值所有简单的说next()只返回有效字符,next...原创 2019-07-22 17:28:31 · 368 阅读 · 0 评论 -
面向对象—封装和private私有化
封装的概述:封装是指隐藏对象的属性和实现细节,仅仅对外提供了可见的公共的方法。将不需要或则不能对外提供的内容隐藏起来,进行封装。简单地说就是将功能的具体实现代码写到方法中,外界只需要调用该方法名就可实现功能。封装的表现:函数就是一个基本的封装体。类也是一个封装体封装的优点:1、提高了代码的复用性。2、隐藏实现细节,还可对外提供访问方式,便于调用者时使用。3、提高安全性。4、提高代...原创 2019-12-01 20:43:30 · 459 阅读 · 0 评论 -
二维数组
简介:如果一维数组中的各个元素仍然是一个数组,那么它就是一个二维数组。二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。声明二维数组变置并创建二维数组下面是声明二维数组的语法:数据类型[ ] [ ]数组名 :数据类型 数组名[ ] [ ] //允许这种方式 ,但并不推荐使用它有以下几种表示二维数组元素的方法:int a [3]...原创 2019-08-02 00:22:21 · 263 阅读 · 0 评论 -
一维数组简介及三种排序方法
数组简介:数组是用来存储数据的集合,但是,通常我们会把数组看作一个存储具有相同类型 的变量集合会更有用。无须声明单个变量,例如:number0, number1,…,number99, 只要声明一个数组变量 numbers,并且用 numbers[0], numbers[1],…, numbers[99]来表示单个变量。数组创建:声明一个数组变量、创建数组、然后将数组引用赋值给变量这三个步驟...原创 2019-07-27 19:36:04 · 11654 阅读 · 0 评论 -
Java中if和switch的区别
if:if是Java种的关键字,当程序在执行过程遇到if关键字,JVM就知道此处需要进行判断,根据判断结果需要处理相应的代码 。格式如下:if(条件表达式){执行语句;}注意if后面小括号没有分号,小括号里运算完结果必须是boolean类型。if-else格式:if(条件表达式){执行语句1;} else{执行语句2;}说明当if括号里内容为真时,执行语句1,否则执行语句...原创 2019-07-22 18:47:47 · 4705 阅读 · 2 评论 -
函数的重载
重载:就是可以用同一个名字的函数实现多种方法。eg:下面函数的作用为判断a,b大小并返回大的数字。public static int max(int a,int b){if(a>b){return a;}else{return b;}}该方法只能用与int型,如果要比较两个双精度数,就可以将此函数进行重载,重载代码如下:public static double max(do...原创 2019-07-25 18:00:11 · 258 阅读 · 0 评论 -
Java方法(函数)的构造与调用
方法简介:可以用于定义可重用的代码以及组织和简化编码, 减少代码的冗余,提高代码的复用率。1、定义方法:如下图所示方法头由修饰符,返回值类型,方法名,和方法参数组成。当调用方法时,就给参数传递一个值,这个值称为实际参数或实参。在max 方法的方法体中使用一个if语句来判断哪个 数较大,然后返回该数的值。为使带返回值的方法能返回一个结果,必须要使用带关键字 return 的返回语句。执行 r...原创 2019-07-25 17:44:26 · 533 阅读 · 1 评论 -
Java基础01
1.关键字就是被高级编程语言赋予特殊含义的单词(不可乱用)。2.标识符就是用户自定义的名称例如:类名、函数名、变量名规则:(1)只能由数字、字母、下划线、美元符组成(2)其中数字不能开头(3)必须是一个词(4)严格区分大小写规范:(1)定义类名时 所有单词首字母大写 eg:MyName 、UserAge(2)定义函数名和变量名 除第一个单词外其他单词首字母大写 eg:m...原创 2019-07-18 19:08:57 · 115 阅读 · 1 评论