字数统计:
5.2k字
|
阅读时长:
22分
Java语言基础
二维数组概述和格式1的讲解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 class Array2Demo { public static void main(String [] args) { int[][] arr = new int[3 ][2 ]; System.out.println(arr); System.out.println(arr[0 ]); System.out.println(arr[1 ]); System.out.println(arr[2 ]); System.out.println(arr[0 ][0 ]); System.out.println(arr[0 ][1 ]); } }
二维数组格式1的内存图解
二维数组格式2的讲解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Array2Demo2 { public static void main(String [] args) { int[][] arr = new int[3 ][]; System.out.println(arr); System.out.println(arr[0 ]); System.out.println(arr[1 ]); System.out.println(arr[2 ]); arr[0 ] = new int[2 ]; arr[1 ] = new int[3 ]; arr[2 ] = new int[1 ]; System.out.println(arr[0 ]); System.out.println(arr[1 ]); System.out.println(arr[2 ]); System.out.println(arr[0 ][0 ]); System.out.println(arr[0 ][1 ]); arr[1 ][0 ] = 100 ; arr[1 ][2 ] = 200 ; } }
二维数组格式2的内存图解
二维数组格式3的讲解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 class Array2Demo3 { public static void main(String [] args) { int[][] arr = {{1 ,2 ,3 },{4 ,5 },{6 }}; System.out.println(arr); System.out.println(arr[0 ]); System.out.println(arr[1 ]); System.out.println(arr[2 ]); System.out.println(arr[0 ][0 ]); System.out.println(arr[1 ][0 ]); System.out.println(arr[2 ][0 ]); System.out.println(arr[0 ][1 ]); System.out.println(arr[1 ][1 ]); System.out.println(arr[2 ][1 ]); } }
二维数组格式3的内存图解
二维数组练习1遍历 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 class Array2Test { public static void main(String [] args) { int[][] arr = {{1 ,2 ,3 },{4 ,5 ,6 },{7 ,8 ,9 }}; for (int x=0 ; x<arr[0 ].length; x++) { System.out.println(arr[0 ][x]); } System.out.println("--------------" ); for (int x=0 ; x<arr[1 ].length; x++) { System.out.println(arr[1 ][x]); } System.out.println("--------------" ); for (int x=0 ; x<arr[2 ].length; x++) { System.out.println(arr[2 ][x]); } System.out.println("--------------" ); for (int x=0 ; x<3 ; x++) { for (int y=0 ; y<arr[x].length; y++) { System.out.print(arr[x][y]+" " ); } System.out.println(); } System.out.println("--------------" ); for (int x=0 ; x<arr.length; x++) { for (int y=0 ; y<arr[x].length; y++) { System.out.print(arr[x][y]+" " ); } System.out.println(); } System.out.println("--------------" ); printArray2(arr); System.out.println("--------------" ); int[][] arr2 = {{1 ,2 ,3 },{4 ,5 },{6 }}; printArray2(arr2); } public static void printArray2(int[][] arr) { for (int x=0 ; x<arr.length; x++) { for (int y=0 ; y<arr[x].length; y++) { System.out.print(arr[x][y]+" " ); } System.out.println(); } } }
二维数组练习2求和 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 class Array2Test2 { public static void main(String [] args) { int[][] arr = {{22 ,66 ,44 },{77 ,33 ,88 },{25 ,45 ,65 },{11 ,66 ,99 }}; int sum = 0 ; for (int x=0 ; x<arr.length; x++) { for (int y=0 ; y<arr[x].length; y++) { sum += arr[x][y]; } } System.out.println("一年的销售额为:" +sum+"万元" ); } }
二维数组练习3杨辉三角 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 import java.util.Scanner;class Array2Test3 { public static void main(String [] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入一个数据:" ); int n = sc.nextInt(); int[][] arr = new int[n][n]; for (int x=0 ; x<arr.length; x++) { arr[x][0 ] = 1 ; arr[x][x] = 1 ; } for (int x=2 ; x<arr.length; x++) { for (int y=1 ; y<=x-1 ; y++) { arr[x][y] = arr[x-1 ][y-1 ] + arr[x-1 ][y]; } } for (int x=0 ; x<arr.length; x++) { for (int y=0 ; y<=x; y++) { System.out.print(arr[x][y]+"\t" ); } System.out.println(); } } }
思考题1Java中的参数传递问题及图解 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 class ArgsDemo { public static void main(String [] args) { int a = 10 ; int b = 20 ; System.out.println("a:" +a+",b:" +b); change(a,b); System.out.println("a:" +a+",b:" +b); int[] arr = {1 ,2 ,3 ,4 ,5 }; change(arr); System.out.println(arr[1 ]); } public static void change(int a,int b) { System.out.println("a:" +a+",b:" +b); a = b; b = a + b; System.out.println("a:" +a+",b:" +b); } public static void change(int[] arr) { for (int x=0 ; x<arr.length; x++) { if (arr[x]%2 ==0 ) { arr[x]*=2 ; } } } }
思考题2加密问题的分析和代码实现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 class JiaMiDemo { public static void main(String [] args) { int number = 123456 ; int[] arr = new int[8 ]; int index = 0 ; while (number > 0 ) { arr[index] = number%10 ; index++; number/=10 ; } for (int x=0 ; x<index; x++) { arr[x] += 5 ; arr[x] %= 10 ; } int temp = arr[0 ]; arr[0 ] = arr[index-1 ]; arr[index-1 ] = temp; for (int x=0 ; x<index; x++) { System.out.print(arr[x]); } System.out.println(); } }
思考2加密问题的代码改进 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package stephencurry; import java.util.*;import java.math.*;import java.io.*;public class Main { public static void main(String [] args) { Scanner sc = new Scanner(System.in); int num=123456 ; int []a=new int[10 ]; int cnt=0 ; while (num>0 ) { a[cnt]=num%10 ; cnt++; num/=10 ; } for (int i=0 ;i<cnt;i++) { a[i]+=5 ; a[i]%=10 ; } int temp=a[cnt-1 ]; a[cnt-1 ]=a[0 ]; a[0 ]=temp; for (int i=0 ; i<cnt; i++) { System.out.print(a[i]); } System.out.println(); } }
面向对象 面向对象的基本思想引入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 1 :面向对象思想 面向对象是基于面向过程的编程思想。 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2 :面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 举例: 买电脑: 面向过程:我的了解电脑--了解我自己的需求--找对应的参数信息--去中关村买电脑--讨价还价--买回电脑 面向对象:我知道我要买电脑 -- 班长去给我买 -- 班长就买回来了 洗衣服: 面向过程:把衣服脱下--找一个盆--放点洗衣粉--加点水--把衣服扔进去--搓一搓--清洗衣服--拧干--晾起来 面向对象:把衣服脱下--打开全自动洗衣机--扔进去--一键即可--晾起来 吃饭: 面向过程:去超市买菜--摘菜--洗菜--切菜--炒菜--盛起来--吃 面向对象:上饭店吃饭,你--服务员(点菜)--厨师(做菜)--服务员(端菜)--吃 家常事物,买洗衣机和去饭店太不划算了,所以,找个对象。 但是,你不跟我好好学习,你将来4000 ,你对象8000 。 3 :把大象装进冰箱 面向过程: 动作有哪些呢? A:打开冰箱门 B:装进大象 C:关闭冰箱门 代码体现; class Demo { public static void main(String [] args) { open(); in (); close(); } public static void open() { System.out.println("打开冰箱门" ); } public static void in () { System.out.println("装进大象" ); } public static void close() { System.out.println("关闭冰箱门" ); } } 面向对象: 我们怎么才能更符合面向对象思想呢? A:有哪些类呢? B:每个类有哪些东西呢? C:类与类直接的关系是什么呢? 把大象装进冰箱的分析? (如何分析有哪些类呢?UML。名词提取法。) A:有哪些类呢? 大象 冰箱 Demo B:每个类有哪些东西呢? 大象: 进去 冰箱: 开门 关门 Demo: main方法 C:类与类直接的关系是什么呢? Demo中使用大象和冰箱类的功能。 代码体现: class 大象 { public static void in () { System.out.println("装进大象" ); } } class 冰箱 { public static void open() { System.out.println("打开冰箱门" ); } public static void close() { System.out.println("关闭冰箱门" ); } } class Demo { public static void main(String [] args) { 冰箱调用开门 大象调用进去 冰箱调用关门 } } 4 :开发,设计,特征面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情。 面向对象设计 其实就是在管理和维护对象之间的关系。 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism)
类与对象的概述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 现实世界中是如何描述一个事物的呢? 举例:学生 姓名,年龄,性别... 学习,吃饭,睡觉 属性:该事物的描述信息 行为:该事物能够做什么 我们学习编程语言,是为了模拟现实世界的事物的。 而我们学习的编程语言Java中最基本的单位是:类。 所以,我们就应该把事物通过类来体现出来: 由此,我们就得到了现实世界事物和类的对应关系: 事物: 类: 属性 成员变量 行为 成员方法 类:是一组相关的属性和行为的集合。是一个抽象的概念。 对象:是该类事物的具体表现形式。具体存在的个体。 举例: 学生:类 班长:对象
类的定义:学生类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 class Student { String name; int age; String address; public void study() { System.out.println("学生爱学习" ); } public void eat() { System.out.println("学习饿了,要吃饭" ); } public void sleep() { System.out.println("学习累了,要睡觉" ); } }
学生类的使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 class Student { String name; int age; String address; public void study() { System.out.println("学生爱学习" ); } public void eat() { System.out.println("学习饿了,要吃饭" ); } public void sleep() { System.out.println("学习累了,要睡觉" ); } } class StudentDemo { public static void main(String [] args) { Student s = new Student(); System.out.println(s.name+"---" +s.age+"---" +s.address); s.name = "林青霞" ; s.age = 27 ; s.address = "北京" ; System.out.println(s.name+"---" +s.age+"---" +s.address); s.study(); s.eat(); s.sleep(); } }
类的定义:手机类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 class Phone { String brand; int price; String color; public void call(String name) { System.out.println("给" +name+"打电话" ); } public void sendMessage() { System.out.println("群发短信" ); } public void playGame() { System.out.println("玩游戏" ); } }
手机类的使用 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 class Phone { String brand; int price; String color; public void call(String name) { System.out.println("给" +name+"打电话" ); } public void sendMessage() { System.out.println("群发短信" ); } public void playGame() { System.out.println("玩游戏" ); } } class PhoneDemo { public static void main(String [] args) { Phone p = new Phone(); System.out.println(p.brand+"---" +p.price+"---" +p.color); p.brand = "诺基亚" ; p.price = 100 ; p.color = "灰色" ; System.out.println(p.brand+"---" +p.price+"---" +p.color); p.call("林青霞" ); p.sendMessage(); p.playGame(); } }
一个对象的内存图
两个对象的内存图
三个对象的内存图
<
JavaSE-Day(7)学习笔记
数据库原理及应用上机实验二
>