记录学习过程和代码编写,小白纯属记录。
目录
一、运算符
赋值运算符
java
public class Demo01 {
public static void main(String[] args){
System.out.println(1+1);
System.out.println(1-1);
System.out.println(5*6);
System.out.println(9/6);//整数!!
System.out.println(9%1);
System.out.println(9%6);
//进阶赋值运算符
int num=100;
int a=3;
a=a+3;
System.out.println("\n"+a);
int b=3;
b%=3;
System.out.println(b);
}
public class Demo01 {
public static void main(String[] args) {
int a=1;
int b=++a;//a++,先赋值后+,++a,先+后赋值。
System.out.println(b);
System.out.println(a);
}
}
条件运算符和逻辑
java
ackage day02;
public class Demo02{
public static void main(String[] args){
int a=1;
int b=2;
System.out.println(a==3&&a==1);//false
System.out.println(!(a==3&&a==1));//true
}
}
| || && & > >= == < =< !
&&和&的区别:&&左边判断false,右边不进行判断;左边false,右边继续判断,但是逻辑上都是真真真,有假则假;
三元运算符
java
//三元运算!//语法:条件表达式1?条件表达式2?....,返回true使用1,返回false使用2.package day02;
import java.sql.SQLSyntaxErrorException;
public class Demo02 {
public static void main(String[] args){
int a= 5<6?3:4;//true:3 System.out.println(a);
System.out.println(a=5>6?3:4);//false 4 }
}
类型转换
java
//转换规则:从小类型转换为大类型!!
public class Demo02 {
public static void main(String[] args){
/* int a= 5<6?3:4;//true:3 System.out.println(a); System.out.println(a=5>6?3:4);//false 4*/
int b=100;
double a=b;
long c=b;
System.out.println(a); //100.0
System.out.println(c);//100
}
}
package day02;
public class Demo03 {
public static void main(String[] args){
int a=10;
String level="";
if(100>=a&&a>=90){
level="A";
} else if (90>a&&a>=80) {
level="B";
} else if (80>a&&a>=70) {
level="C";
}else if(70>a&&a>=60){
level="D";
}else {
level="不合格";
}
String Message = String.format("你的成绩是:%s等级,%d分",level,a);
//format: 格式化字符串,它包含了格式说明符(例如:%d, %f, %s等)和普通文本,用于指定最终输出字符串的格式
System.out.println(Message);
}
}
你的成绩是:不合格等级,10分
二、数组
java
package day02;
public class Demo04 {
public static void main(String[] args){
int[] arr=new int[3];//动态申明数组:数组名arr,数组类型int,数组内含3个,初始值为0 System.out.println(arr[0]);
//数组byte short long int double float 默认值都是0
//boolean 默认false
//char默认空格
char [] Char=new char[3];
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
0
0
0
猜字游戏
java
package day02;
import java.util.Random;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args){
Random hh=new Random();
int num = hh.nextInt(100);//设置类型和最大值100
//System.out.println(num);
while (true) {
System.out.println("输入数字:");
Scanner kk = new Scanner(System.in);
int num1=kk.nextInt();
//System.out.println(num1);
if(num1>num){
System.out.println("猜大了!");
} else if (num1<num) {
System.out.println("猜小了");
}else {
System.out.println("恭喜你猜对了!");
break;
}
}
}
}
三、面向对象
面向对象基础
java
package day03;
public class Demo01 {
public static void getName(String Name){
String name = Name;
System.out.println(name);
}
public static void getAge(int Age){
int age=Age;
System.out.println(age);
}
public static void getEmailAddress(String address){
String email_address=address;
System.out.println(email_address);
}
}
///
public String email_address;
public int age;
public static void main(String[] args){
Demo01 peson = new Demo01();
peson.getName("HHH");
peson.getAge(100);
peson.getEmailAddress("重庆市");
}
}
HHH
100
重庆市
jvm三区
构造函数
java
package day04;
//构造函数格式:方法名和类名相同!!构造方法没有返回值,void都没有!!
//写了有参构造函数,就一定要写无参构造函数!!!
public class student {
private String name;
private int age;
public student(){ //构造函数的基本格式:方法名和类名相同!!
System.out.println("这是构造方法!!");
}
public static void main(String[] args){
student student1 = new student();//new一个对象之后就会调用构造方法!!!
}
}
这是构造方法!!
有参构造和无参构造
java
package day04;
//构造函数格式:方法名和类名相同!!构造方法没有返回值,void都没有!!
public class student {
private String name;
private int age;
public student(){ //无参构造方法
System.out.println("这是构造方法!!");
}
public student(String name,int age){ //有参构造方法
this.name=name;
this.age = age;
String message = String.format("name:%s,age:%d",name,age);
System.out.println(message);
}
public static void main(String[] args){
student student1 = new student("hh",10);
//new一个对象之后就会调用构造方法!!!
}
}
name:hh,age:10
继承
继承提高了代码的复用性,提高了代码的维护性,让类产生了关系,是多态的前提;
继承的弊端:让类产生了关系,继承的弊端,类的耦合性增强了。
继承的特性:Java的继承只能是单继承,但是可以迭代继承。
继承中的属性:使用就近原则,如果要同时访问局部变量和全局变量,可以使用this访问类中的全局变量,使用super访问父类中的变量。
java
class testfather{
int num = 10;
}
public class test extends testfather {
int num = 20;
public void hh(){
int num = 100;
System.out.println(num); //注意this和super不能出现在main方法中!!!
System.out.println(this.num);
System.out.println(super.num);
}
public static void main(String[] args){
test t1 = new test();
t1.hh();
}
}
100
20
10
父类
java
package com.zsx.person;
public class persoaldemo {
private String name;
private int age;
private String sex;
private String number;
//construct
public persoaldemo(){
//System.out.println("输出结果如下");
}
//set
public void setName(String newName){
name = newName;
}
public void setAge(int newAge){
age=newAge;
}
public void setSex(String newSex){
sex=newSex;
}
public void setNumber(String newNumber){
number=newNumber;
}
//get
public String getName(){
return name;
}
public int getAge() {
return age;
}
public String getSex() {
return sex;
}
public String getNumber() {
return number;
}
public void PrintInfo(String n, int a,String s, String N){
persoaldemo per1 = new persoaldemo();
//set
per1.setAge(a);
per1.setName(n);
per1.setNumber(N);
per1.setSex(s);
//print
System.out.println("name:"+ per1.getName());
System.out.println("age:"+per1.getAge());
System.out.println("sex:"+per1.getSex());
System.out.println("number:"+per1.getNumber());
}
public static void main(String[] args){
persoaldemo p2 = new persoaldemo();
p2.PrintInfo("李四",10,"男性","3");
}
}
name:李四
age:10
sex:男性
number:3
子类
java
package com.zsx.person;
public class studentdemo extends persoaldemo {
private String Course;
private int CourseRange;
public void setCourse(String newCourse){
Course=newCourse;
}
public void setCourseRange(int newCourseRange){
CourseRange=newCourseRange;
}
public String getCourse(){
return Course;
}
public int getCourseRange(){
return CourseRange;
}
public static void main(String[] args){
studentdemo s1 = new studentdemo();
s1.setCourse("语文");
s1.setCourseRange(10);
s1.PrintInfo("李四",10,"男性","1");
String message = String.format("科目:%s,排名:%d",s1.getCourse(),s1.getCourseRange());
System.out.println(message);
}
}
name:李四
age:10
sex:男性
number:1
科目:语文,排名:10