
Java笔记
Java基础
L菌体
这个作者很懒,什么都没留下…
展开
-
Java Math里的立方根函数
*Math.cbrt()//计算立方根 *Math.sqrt()//计算平方根 *Math.pow(a, b)//计算a的b次方 *Math.max( , );//计算最大值 *Math.min( , );//计算最小值原创 2021-06-11 20:37:55 · 2835 阅读 · 0 评论 -
Java使用另一个类作为属性
package 雇员;public class test02 { public static void main(String[] args){ //MyDate m1 = new MyDate(2001,2,32); MyDate m1 = new MyDate(); m1.setYear(2001); m1.setMonth(2); m1.setDay(28); Employee e1 = ne.原创 2021-04-02 20:29:04 · 1736 阅读 · 0 评论 -
46.this
package day16;/*2020年9月12日16:18:44this:1.意思:当前对象(1)构造器正在被创建的对象(2)方法正在调用该方法的对象2.用法(1)this.属性当局部变量与成员变量同名时,可以再成员变量的前面加this(2)this.方法(3)this()或this(实参列表)this()表示调用本类的无参构造this(形参列表)表示调用本类的有参构造前提:this()或this(实参列表)必须在构造器的首行 */public class thi原创 2020-09-12 16:58:51 · 97 阅读 · 0 评论 -
45.构造器
package day16;/*2020年9月12日16:04:49类的第三个组成部分: 构造器,也称为构造方法1.构造器的作用:(1)构造对象,创建对象和new一起使用,每次调用它就是在创建新的对象(2)可以再创建对象的同时,给属性赋值2.构造器的特点(1)所有类都有构造器(2)如果一个类没有显示声明构造器,那么编译器将会自动生成一个默认的无参构造(3)如果一个类显示声明了构造器,那么编译器将不会自动生成默认的无参构造了(4)构造器的名称必须与类名相同(5)构造器没有原创 2020-09-12 16:58:08 · 85 阅读 · 0 评论 -
44.练习3
/*变量的分类:1.成员变量:现在讨论都是非静态的成员变量2.局部变量(1)声明的位置不同成员变量: 类中方法外 类 { 【修饰符】 数据类型 成员变量; }局部变量 方法中 : (1)形参,也是局部变量 (2)方法体()中声明的变量 后面可能还要加上代码块中 类 { 【修饰符】 返回值类型 方法名(【形参列表】) { 数据类型 局部变量;原创 2020-09-12 16:57:36 · 95 阅读 · 0 评论 -
43.练习2
/*2020年9月2日15:06:27声明一个数学工具类,包含方法如下:1,可以求0~n字符串的拼接结果2,可以崎岖1~n整数的乘积 */package day13;public class lianxi4{ public static void main(String[] args) { MyMath my = new MyMath(); System.out.println("拼接结果:" + my.concat("你好","世界",原创 2020-09-07 10:07:32 · 151 阅读 · 0 评论 -
43.练习
/*2020年9月2日14:52:551.声明一个图形工具类,包含如下方法:(1) double getTrlangleArea(double base,double height)(2) double gerTriangleArea(double a, double b, double c)double gerTriangleArea(double a, double b, double c): 方法签名或方法头方法 = 方法签名/方法头 + 方法体方法签名 :【修饰符】 返回值类型原创 2020-09-07 10:06:53 · 186 阅读 · 0 评论 -
42.可变参数
package day13;public class lianxi2{ public static void main(String[] args) { System.out.println(sum(22,3));// int[] arr1 = new int[0];// System.out.println("0个元素的累加和:" + sum(arr1));//// int[] arr2 = {1,2,3,4,5};/原创 2020-09-07 10:06:18 · 120 阅读 · 0 评论 -
41.练习1
package day12;/*2020年8月31日11:32:071.形参值不影响实参值2.实参赋值给形参的是对象的地址值, 如果形参修改了对象的属性值,那么实参对象的属性值也会修改3.每调用一个类时,都会在栈里开辟一个空间 */public class lianxi2{ public static void main(String[] arrgs) { Circle yuan = new Circle(); yuan.radius原创 2020-09-07 10:05:12 · 237 阅读 · 0 评论 -
41.练习1
package day10;/*2020年8月25日09:44:181.从键盘输入一共有几组2.从键盘输入每一组分别有多少人3.从键盘输入每一个同学的成绩4.统计每一组的最高分,最低分5,统计每一组的平均分6.统计全班的最高分 , 最低分 平均分 总人数 */public class lianxi1{ public static void main(String[] args) { java.util.Scanner input = new java原创 2020-09-07 10:00:43 · 124 阅读 · 0 评论 -
40.方法重载1
package day13;/*2020年9月2日13:57:38方法的重载 在同一个类中,出现了两个或多个的方法名称相同,形参列表不同,称为方法的重载。 形参列表不同:形参的个数, 数据类型不同 方法的重载和返回值类型无关为什么要有方法的重载? 或者换句话说,为什么要声明多个方法名称相同呢?1.方法名代表方法的功能,这几个方法名的功能是一样的,例如:都是找最大值2.为了调用者的方便, 功能相同的方法取名一样的话,对于调用者来说就减少了学习和记忆的成本 */publ原创 2020-09-06 10:56:30 · 95 阅读 · 0 评论 -
39.类9
package day12;/*2020年8月31日11:32:071.形参值不影响实参值2.实参赋值给形参的是对象的地址值, 如果形参修改了对象的属性值,那么实参对象的属性值也会修改3.每调用一个类时,都会在栈里开辟一个空间 */public class lianxi2{ public static void main(String[] arrgs) { Circle yuan = new Circle(); yuan.radius原创 2020-09-06 10:55:43 · 158 阅读 · 0 评论 -
38.类8
package day12;//2020年8月31日11:16:58public class lianxi1{ public static void main(String[] args) { //创建爸爸的对象 Citizen baba = new Citizen(); baba.name = "小头爸爸"; baba.cardId = "1111111"; //左边的birthday是一个引用数据类型原创 2020-09-06 10:55:06 · 101 阅读 · 0 评论 -
37.类7
package day11;//有参返回值/*调用格式:1.其他类中 变量 = 对象名.方法名(实参列表); 或 System.out.println(对象名.方法名(实参列表));2.本类同级别调用 变量 = 方法名(实参列表); */public class lianxi7{ public static void main(String[] args) { //创建MyMathTools对象 MyMathT原创 2020-09-06 10:54:34 · 124 阅读 · 0 评论 -
36.类6
package day11;/*声明一个图形工具类,声明一个方法 可以打印n行某字符的等腰三角形 */public class lianxi6{ public static void main(String[] args) { //创建对象 GraphicTools tools = new GraphicTools(); //调用方法 tools.printEqualSideTriangle(6,'*'); }原创 2020-09-06 10:53:38 · 101 阅读 · 0 评论 -
35.类5
package day11;//有参返回值public class lianxi5{ public static void main(String[] args) { //创建对象 GraphicTools1 tools = new GraphicTools1(); //调用print5Line10RowStarRectangle() tools.print5Line10RowStarRectangle();原创 2020-09-06 10:53:07 · 130 阅读 · 0 评论 -
34.类4
package day11;/*1.声明一个矩形类,有属性: 长 宽2.在矩形类中, 声明两个方法 (1)返回矩形的面积 (2)返回矩形的周长3.在测试类中测试 */public class lianxi4{ public static void main(String[] args) { //创建对象 Rectangle:矩形, 长方形 Rectangle r = new Rectangle(); //为属性赋值原创 2020-09-06 10:52:37 · 98 阅读 · 0 评论 -
33.类3
package day11;public class lianxi3{ public static void main(String[] args) { //创建对象 Account a = new Account(); a.id = "113243424"; a.balance = 10000; //调用a的printInfo() a.printInfo(); Syst原创 2020-09-06 10:52:07 · 106 阅读 · 0 评论 -
32.类2
package day11;/*方法的原则:1.不调用不使用2.需要先声明后使用调用:1.本类同级别 ---》 直接调用-----> 方法名();2.在其他类中 ---》 对象名.方法(首先要创建对象) */public class lianxi2{ public static void main(String[] args) { //1.创建对象 Student s1 = new Student(); //原创 2020-09-06 10:51:10 · 85 阅读 · 0 评论 -
31.类1
package day11;//练习 类的使用/*1.声明一个方法: 【修饰符】 返回值类型 方法名(【形参列表】) {方法体: 实现代码的功能}2.返回值的类型: void 非void3.方法名: 和变量名一样,从第二个单词开始首字母大写 */public class lianxi1{ public static void main(String[] args) { printRectangle();//第一次调用原创 2020-09-06 10:50:40 · 84 阅读 · 0 评论 -
30.二维数组6
package day10;/*2020年8月25日09:44:181.从键盘输入一共有几组2.从键盘输入每一组分别有多少人3.从键盘输入每一个同学的成绩4.统计每一组的最高分,最低分5,统计每一组的平均分6.统计全班的最高分 , 最低分 平均分 总人数 */public class lianxi1{ public static void main(String[] args) { java.util.Scanner input = new java原创 2020-09-05 12:17:42 · 188 阅读 · 0 评论 -
29.二维数组5
package day9;//使用一个两行的二维字符串数组,分别存储花色和点数/*打印如下结果:黑桃A 黑桃2 黑桃3 黑桃4 黑桃5 黑桃6 黑桃7 黑桃8 黑桃9 黑桃10 黑桃J 黑桃Q 黑桃K红桃A 红桃2 红桃3 红桃4 红桃5 红桃6 红桃7 红桃8 红桃9 红桃10 红桃J 红桃Q 红桃K梅花A 梅花2 梅花3 梅花4 梅花5 梅花6 梅花7 梅花8 梅花9 梅花10 梅花J 梅花Q 梅花K方片A 方片2 方片3 方片4 方片5 方片6 方片7 方片8 方片9 方片10 方片J原创 2020-09-05 12:17:08 · 319 阅读 · 0 评论 -
28.杨辉三角
package day9;//打印10行的杨辉三角public class lianxi1{ public static void main(String[] args) { //声明一个二维数组,并确定行数 int[][] yanghui = new int[10][]; //确定列数 for(int i=0; i<yanghui.length; i++) yanghui[i] = ne原创 2020-09-05 12:16:33 · 144 阅读 · 0 评论 -
27.二维数组4
package day8;public class lianxi9{ public static void main(String[] args) { int[][] arr = new int[5][]; //确定列数 根据最后运算的结果 /* arr[0]的列数是1 arr[1]的列数是2 arr[2]的列数是3 arr[3]的列数是4 arr原创 2020-09-05 12:16:03 · 165 阅读 · 0 评论 -
26.二维数组3
package day8;public class lianxi8{ public static void main(String[] args) { //声明 确定行数,确定每一行的列数一起完成 int[][] arr = new int[4][5];//共4行,每一行都是5列 //确定元素的值 for(int i=0; i<arr.length; i++) { for(i原创 2020-09-05 12:15:32 · 155 阅读 · 0 评论 -
25.二维数组2
package day8;public class lianxi6{ public static void main(String[] args) { int[][] arr = {{1},{2,2},{3,3,3},{4,4,4,4},{5,5,5,5,5,5}}; //遍历二维数组的arr.length行的元素 for(int i=0; i<arr.length; i++) { for(原创 2020-09-05 12:15:02 · 96 阅读 · 0 评论 -
24.二维数组1
package day8;//二维数组public class lianxi5{ public static void main(String[] args) { /* 语法格式: 元素的数据类型[][] 数组名; 初始化: 1.确定行数 2.确定每一行的列数 3.确定值 (1)静态初始化 二位数组名 =原创 2020-09-05 12:14:32 · 141 阅读 · 0 评论 -
23.直接选择排序
package day8;//直接选择排序public class lianxi4{ public static void main(String[] args) { int[] arr = {11,5,55,2,6,7}; /* 直接插入排序: 每轮 把当前未排序最小/最大的 元素及其位置找出 然后进行交换 */ //轮数: 长度-1 for(i原创 2020-09-05 12:13:40 · 113 阅读 · 0 评论 -
22.冒泡排序
package day8;//冒泡排序public class lianxi3{ public static void main(String[] args) { int[] arr = {33,2,11,6,99}; /* 冒泡排序; 1.相邻元素比较 2.每一趟 都有一个数沉底 */ //共n = arr.length个数, 共比较n-1次 fo原创 2020-09-05 12:13:09 · 120 阅读 · 0 评论 -
21.二分查找
package day8;//二分查找 1.数组元素必须是有序的public class lianxi2{ public static void main(String[] args) { int[] arr = {1,2,4,6,7,8}; //要查找的数 int value = 4; int index = -1; int left = 0; int right = arr.len原创 2020-09-05 12:12:42 · 114 阅读 · 0 评论 -
20.去除数组中重复元素
package day8;//去除数组中的重复元素public class lianxi1{ public static void main(String[] args) { int[] arr = {9,10,6,6,1,9,3,5,6,4}; //方法:覆盖重复元素 ,找到重复元素的下标,然后把后面的元素往前移 //1.定义count 数组的长度 int count = arr.length; //原创 2020-09-04 07:23:42 · 125 阅读 · 0 评论 -
19.家庭记账本
package day8;//哪出问题了啊啊啊 原来少写了+ 号啊//家庭记账本public class lei{ public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); boolean flag = true;//决定循环是否继续 int balance = 10000; //基本原创 2020-09-04 07:23:09 · 170 阅读 · 0 评论 -
18.偶在左,奇在右
package day7;//排序 偶数在左, 奇数在右public class lianxi4{ public static void main(String[] args) { int[] arr = {23,43,53,11,12,22,78}; for(int left=0,right=arr.length-1; left<right; left++,right--) { //左边是偶数,右边是奇原创 2020-09-04 07:22:28 · 140 阅读 · 0 评论 -
17.元素重排
package day7;//元素重排,所有的奇数保存到数组左边,所有偶数保存到数组右边(不分大小)public class lianxi3{ public static void main(String[] args) { //int[] arr = {26,67,49,52,38,66,7,71,56,87}; int[] arr = {22,44,66,78}; /* 1.找到奇数与偶数的小标互换元素原创 2020-09-04 07:21:43 · 170 阅读 · 0 评论 -
16.数组练习
package day7;/*根据标准答案【ADBCD】,每题2分共10分,求每名学生最终得分上【DCBAD】归【ADBCD】古【ADBCA】好【ABCDD】 */public class lianxi2{ public static void main(String[] args) { //标准答案 char[] answer = {'A','D','B','C','D'}; //学生答案 char[]原创 2020-09-04 07:21:11 · 577 阅读 · 0 评论 -
15.判断数组是否元素对称
package day7;//判断数组是否元素对称public class lianxi1{ public static void main(String[] args) { int[] arr = {1,7,4,5,4,2,1}; //1.先假设是对称的 boolean flag = true; //2.利用首尾下标比较 for(int left=0,right=arr.length-1; left&l原创 2020-09-04 07:20:31 · 2038 阅读 · 0 评论 -
14.数组练习
package day6;public class shuzu1{ public static void main(String[] args) { //花色 String[] hua = {"黑桃","红桃","梅花","方片"}; //点数 String[] dian = {"A","2","3","4","5","6","7","8","9","10","J","Q","k"}; //输出原创 2020-09-04 07:19:49 · 135 阅读 · 0 评论 -
13.统计每个字符出现的次数并打印
package day5;//小写字母转大写字母public class shuzu4{ public static void main(String[] args) { char[] letters = new char[26]; for(int i=0; i<letters.length; i++) { letters[i] = (char)('a'+i);//因为i为int }原创 2020-09-04 07:19:36 · 305 阅读 · 0 评论 -
12.小写字母转大写字母
package day5;//小写字母转大写字母public class shuzu4{ public static void main(String[] args) { char[] letters = new char[26]; for(int i=0; i<letters.length; i++) { letters[i] = (char)('a'+i);//因为i为int }原创 2020-09-04 07:19:24 · 98 阅读 · 0 评论 -
11.数组练习
package day5;/*用一个数组,保存星期一到星期天的7个英语单词从键盘输入1-7,显示对于单词 利用数组的下标访问 */public class shuzu3{ public static void main(String[] args) { String[] weeks = {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; /原创 2020-09-04 07:19:10 · 693 阅读 · 0 评论