Java学习(一)

mac2022-06-30  29

目录

简介基本语法从键盘输入一个数运算符号创建对象注意事项语句方法数组 //数组定义 int[] arr; => 类型[] 名称;二维数组面向对象创建对象格式一个对象两个对象引用类型做参数匿名对象

百度网盘java详解学习视频: https://pan.baidu.com/s/1sijd7wRz-LoFt-Y6lyvF_g 提取码:t56u 建议第七天开始看,前面的为学习计算机语言的基础,第11节有讲eclipse的使用方法;

简介

堆:存放一些临时数组; 栈:存放属性信息; eg: main……

基本语法

类中成员修饰词: public:申明public时,它对任何地方的类都可见; private:申明时,他对本类是可见的; protected:除了对自己所在的包内所有类是可见的还对其他包内的本类的子类是可见的。

从键盘输入一个数

如何从键盘输入一个整数; import java.util.*; //调用所有的java库 class mouse_shuchu{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); //从键盘输入 System.out.println("请输入一个数:"); //打印 int x=sc.nextInt(); System.out.println(x); //打印 } }

运算符号

& — 与 有假则假 && 左边为假,右边就不执行 | ---- 或 有真则真 ^ ---- 异或 相同为真,不同为假 ! ---- 非 取相反 && 左边为假,右边就不执行

创建对象

public class Puppy{ int puppyAge; public Puppy(String name) { //构造器仅有一个参数:name System.out.println("小狗的名字:" + name); } public void setAge(int age) { puppyAge = age; } public int getAge( ) { System.out.println("小狗的年龄为:" + puppyAge); return puppyAge; // ??? } public static void main(String[] args) { Puppy myPuppy = new Puppy("tommy"); /*创建对象*/ myPuppy.setAge(2); /*设定age*/ myPuppy.getAge( ); /*调用age*/ System.out.println("变量值:" + myPuppy.puppyAge); /*访问成员变量*/ } }

结果: 小狗的名字:tommy 小狗的年龄为:2 变量值:2

注意事项

1、有分号就没有左大括号; 2print 与 println 的区别: println 在后面直接换行; print 不换行; 3'\x' 转移字符;--- 结果会打印出: x '\"'转移字符;--- 结果会打印出: " '\t' tab键的位置; '\r' 回车; '\n' 换行; 4、合法标记符不允许数字开头; 5break; 停止循环 return; 返回方法 continue; 终止本次循环,继续下次循环 6、返回值为void时: 不能直接调用 System.out.println(add(row,column)); 此处不允许执行空类型;

语句

for语句

三位数的水仙花数有几个?

public class Test4_flowercount{ public static void main(String[] agrs){ int count=0; for(int i=100;i<=999;i++){ int ge=i%10; int shi=i/10%10; int bai=i/100; if(i == ge * ge * ge + shi * shi * shi + bai * bai * bai){ count ++; } } System.out.println(count); } } while语句

while语句是,会用到 ++; break; 跳出循环; continue; 终止本次循环,继续下次循环;

1-100相加;有几个100-999的水仙花数? public class Test1_while{ public static void main(String[] args){ int i=1; int sum=0; while(i<=100){ sum += i; i++; } System.out.println(sum); int m=100; int count=0; while(m <= 999){ int ge=m%10; int shi=m/10%10; int bai=m/100; if(m == ge * ge * ge + shi * shi * shi + bai * bai * bai){ count ++; } m ++; } System.out.println(count); } }

3.for语句 、 while语句 的循环体

public class Demo1_other{ public static void main(String[] args){ // while(true) { // System.out.println("hello world!"); // } for(;;){ System.out.println("hello world!"); } } }

4.嵌套循环

先执行外循环,然后在执行完内循环后,再执行外循环,然后在执行内循环; 外循环决定行数;内循环决定列数;

public class Demo1_forfor{ public static void main(String[] args){ for(int i=0;i<4;i++){ for(int j=0;j<5;j++){ System.out.print("*"); } System.out.println(); } } }

A:搞入一个4行4列*图案? (利用for嵌套)

public class Demo1_forfor{ public static void main(String[] args){ // for(int i=0;i<4;i++){ // for(int j=0;j<5;j++){ // System.out.print("*"); // } // System.out.println(); // } for(int i=1;i<5;i++){ for(int j=1;j<=i;j++){ System.out.print("*"); } System.out.println(); } } }

B:搞一个99乘法表?(for循环嵌套语句)

public class Demo1_for99{ public static void main(String[] args){ for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(i + "*" + j + "=" + (i*j) + '\t'); } System.out.println(); } } }

5、标记

outer; innner; 标记; 下面 跳转出inner的循环体; 合法标记符: eg: http:

public class Demo1_mark{ public static void main(String[] args){ // outer: for(int i=1;i<=10;i++){ // System.out.println("i =" + i); // inner: for(int j=1;j<=10;j++){ // System.out.println("j =" + j); // break inner; // } // } System.out.println("大家好"); http://www.heima.com / 标记符:行注释;!!!!!!!!!!! System.out.println("才是真的好); } }

6、控制语句

public class Test1{ public static void main(String[] args){ for(int i=1;i<=10;i++){ if(i%3==0){ // break; //输出两次基础班 // continue; //输出七次基础班 System.out.println("java基础班"); //输出13次基础班 } System.out.println("java基础班"); } } }

方法

1、直接调用,传参数调用,调用时不需要写类型;

public class Demo1_method{ public static void main(String[] args){ int sum = add(10,20); System.out.println(sum); //add(30,40); //没有接收,则没有意义; System.out.println(add(50,50)); //直接调用 } public static int add(int a,int b){ int sum=a + b; return sum; } }

2、比较两个数,用方法?

import java.util.*; public class Test1_method{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //从键盘输入方法 System.out.println("请输入第一个整数:"); int x = sc.nextInt(); System.out.println("请输入第二个整数:"); int y = sc.nextInt(); int max = compare(x,y); System.out.println(max); } public static int compare(int a,int b){ return a > b ? a : b; //三目运算可以代替if---eise--- } }

3、比较两个数的值?(利用布尔值)

import java.util.*; public class Test1_method{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数:"); int x= sc.nextInt(); //将键盘录入的整数存储在x System.out.println("请输入第二个数:"); int y= sc.nextInt(); //将键盘录入的整数存储在y boolean max = compare(x,y); System.out.println(max); } public static boolean compare(int a,int b){ return a == b; } }

4、输出m行,n列的图形?

import java.util.*; public class Demo3_method{ public static void main(String[] args){ Scanner sc= new Scanner(System.in); System.out.println("请输入行数:"); int row= sc.nextInt(); System.out.println("请输入列数:"); int column= sc.nextInt(); design(row,column); //System.out.println(max); } public static void design(int a,int b){ for(int i=1;i<=a;i++){ for(int j=1;j<=b;j++){ System.out.print("*"); } System.out.println(); } } }

数组 //数组定义 int[] arr; => 类型[] 名称;

1、数组值。

import java.util.*; public class Demo1_array{ public static void main(String[] args){ int[] arr=new int[3]; //代表有3块连的空间 System.out.println(arr); //显示的是所有数组的地址值 [I@15db9742 } }

2、length — 记录数组长度。

import java.util.*; public class Demo3_exception{ public static void main(String[] args){ int[] arr={11,22,33,44,55}; for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } }

3、调用数组。

import java.util.*; public class Demo3_exception{ public static void main(String[] args){ int[] arr={11,22,33,44,55}; for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } int[] arr1={1,2,3,4,5,6,7,8,}; print(arr1); } public static void print(int[] arr){ for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } } }

4、遍历周一到周日?

import java.util.*; public class 测试{ public static void main(String[] args){ for(int i=0;i<7;i++){ System.out.print("星期"+getWeek(i)+' '); } } public static char getWeek(int week){ char[] arr = {'一','二','三','四','五','六','日'}; return arr[week]; } }

5、查询遍历的位置?

import java.util.*; public class 测试{ public static void main(String[] args){ int[] arr={11,22,33,44,55,66,77,88,99}; int x=mouse(arr,88); System.out.println(x); } public static int mouse(int[] arr,int value){ for(int i=0;i<arr.length;i++){ if(value==arr[i]){ return i; } } return -1; } }

二维数组

格式:类型[][] 名称; int[3][2] arr; 二维数组 arr 中3个一维数组,每个一维数组中有2个数; 数组默认初始化值为 0;

1、二维数组?

import java.util.*; class Demo11_array{ 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[0][0]); //二维数组第一个数组的第一个元素 } }

结果: [[I@15db9742 [I@6d06d69c 0

2、二维数组简介?

3、二维数组遍历?

import java.util.*; class Demo12_array{ public static void main(String[] args){ int[][] arr={{1,2,3},{4,5},{6,7,8,9}}; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ System.out.print(arr[i][j]+" ") ; } System.out.println(); } } }

4、二维数组遍历求和?

import java.util.*; class Demo13_array{ public static void main(String[] args){ int sum=0; int[][] arr={{23,34,54,56},{2,4,5},{234},{34,43}}; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ sum = sum + arr[i][j]; } } System.out.println(sum); } }

面向对象

将复杂的事情简单化; 将执行者变成指挥者; 创建对象,使用对象,住户对象; 管理和维护对象之间的关系; 面向对象三大特征:封装,继承,多态; 成员变量:事物的属性; 成员方法:事物的行为;

创建对象格式

import java.util.*; class Demo1_student{ public static void main(String[] args){ System.out.println("Hello world!"); //创建对象格式:类名 对象名 = new 类型(); student s=new student(); s.name="张三"; s.age =23; System.out.println(s.name+"……"+s.age); s.study(); s.sleep(); } } class student{ //String S要大写; String name; int age; String xingbie; public void study() { System.out.println("学生学习"); } public void sleep() { System.out.println("学生睡觉"); } }

一个对象

class Demo2_phone{ public static void main(String[] args){ car c=new car(); //创建对象 c.color="红色"; //赋值 c.num = 23; c.run(); } } class car { String color; int num; public void run() { System.out.println(color+"……"+num); } }

两个对象

class Demo2_phone{ public static void main(String[] args){ car c1=new car(); //创建对象 c1.color="red"; //赋值 c1.num = 23; c1.run(); car c2=new car(); c2.color="black"; c2.num = 4; c2.run(); } } class car { String color; int num; public void run() { System.out.println(color+"……"+num); } }

引用类型做参数

import java.util.*; class 测试{ public static void main(String[] args){ print(10); student s=new student(); //创建一个新地址 print(s); } public static void print(int x){ System.out.println(x); } public static void print(student st){ st.name="张三"; st.age=23; st.speak(); } } class student{ String name; int age; public void speak(){ System.out.println(name+"……"+age); } }

匿名对象

import java.util.*; class Demo2_car{ public static void main(String[] args){ car c=new car(); method(new car()); // car c1=new car(); // c1.color="red"; // c1.num=23; // c1.run(); // c1.run(); // new car().run(); //匿名对象运行 // new car().run(); //匿名调用属性无意义 } public static void method(car cc){ cc.color="red"; cc.num=23; cc.run(); } } class car{ String color; int num; public void run(){ System.out.println(color+"……"+num); } }
最新回复(0)