Java基础知识(基如eclipse)

01)基础知识

package xiaochen;

public class xiao {

	public static void main(String[] args) {
		//什么是变量,运行中会变化:标识符规则,不能字母开头,字母数字下划线   规范: 变量名第一个单词首写小写,后面单词首字母大写
		//变量三要素:变量名,变量类型,变量值
		//什么是常量,运行中不会变化:
		System.out.println("1");//输出函数

		/*
		 * 变量:整数类型,byte,int 短整形:short 长整形long  字节:4 2 8
		 * 浮点类型:float double 字节:4 8
		 */
		double a=1.5;
		float b=1.5f;//要在数字后加f
		int peopleAge=17;

		//字符型:
		char c='S';

		//布尔类型:boolean
		/*
		 * 数据类型转换:多字节换少字节不行,但少换多是可以的。
		 * 高字节换低字节有可能会出错,一定要转换:强制转换;(目标类型):值
		 * 低字节换高字节:自动类型转换(隐式类型转换)
		 */
		int d=259;
		byte b1=(byte)d;
		double b2=(double)d;
		/*
		 * 运算符
		 * 赋值运算符:=(最低等级)把右边的值赋给左边的变量    
		 *错误例子: a+b=10(错误)a+b不是变量,是式子
		 *易误解:j=i=5; 是可以的; 
		 *
		 *算术运算符
		 *+(加 或者 正)  —(减 或者 负) *(乘)  /(除)  %(取余) 优先从左到右
		 *错误例子 y=3x+5 (要加*号)     124/12=10(分子分母为整结果不存在四舍五入,小数不要) 
		 *
		 *条件运算符
		 *a>b?a:b;成立输出a,不成立输出b;
		 *
		 *位运算符
		 *“~”位取反
		 *"&"
		 *"|"
		 *"^"
		 *"<<"左移 
		 *">>"右移
		 *
		 *运算符的优先级:(), [], ++, --, !, |, ~, instanceof(求数字类型), new(), *, /, %, +, -, >>, <<, >, >=, <, <=, ==, !=, 
		 * &, |, ^, &&, ||, ?:  
		 *
		 */
		
		
    }

}

02)判断语句



import java.util.Scanner;

public class test2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a,b;
		System.out.println("请输入两个整数");
		Scanner s=new Scanner(System.in);
		a=s.nextInt();
		b=s.nextInt();
		if(a>b)
			System.out.println("a="+a+" "+"b="+b+" "+"a>b");//+号只是起到一个连接的作用
		else
			System.out.println("b="+b+" "+"a="+a+" "+"b>a");
		
	}

}

03)练习:分等级

import java.util.Scanner;

public class test3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int score;
		char grade;
		Scanner s=new Scanner(System.in);
		System.out.println("请输入(0~100)整数");
		score=s.nextInt();
		if(score>=90)
			grade='a';
		else if(score>=80)//注意隐含score《90;就不用写(score>=80 && score<90)
			grade='b';
		else if (score>=70)
			grade='c';
		else 
			grade='d';
		System.out.println("score="+score+" "+"grade="+grade);
			
	}

}

04)面向对象

下面两个代码通过调用,联系在一起的

package a;

public class test {
	private String id;
	private String name;
	private int age;
	
	public test(String id,String name,int age) {//1,可以在输出面上写入
		this.id=id;
		this.name=name;
		this.age=age;
	} 
	public test() {//可以直接输出这个
		id="20200210457";
		name="xiaoxiaofei";
		age=22;
	}
	public void test() {//调用输出
		System.out.print("id="+id+" "+"name="+name+" "+"age="+age+" ");
	}
	//下面的三组中
	public int shopping(String name) {
		return 0;
	}
	public int shopping(String name,int age) {
		return 0;
	}
	public float shopping(String id,String name,int age) {
		return 0;
	}
	/*
	 * public float shopping(string name) {//错误,就是返回类型可以不一样(int,float等),但是返回的参数不能一样(String ID等)
		return 0;
	}
	 */
}

package a;

public class teat1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		test p1=new test();
		p1.test();//调用test中,pubilc void test()
		System.out.println();
		test p2=new test("20200210457","xiaoxiao",22);
		p2.shopping("202020");
		p2.test();
			}

}

面向对象2

package a;

public class a {   //类{属性} 
private String id;
private String name;
private int age;
private static String country;//就是跟全局变量有点像,设置一个变量大家都可以用


public a() {
	id="456";
	name="老唐";
	age=30;
	country="China";//一般放到不带参数的里面,就是可以不定义,重复使用
	
	
}

public a(String id,String name,int age) {    //方法的重载              强调:
	this.id=id;
	this.name=name;
	this.age=age;

	
}
public void print() {
	System.out.println("老师叫"+name+","+"今年"+age+"了"+","+"我的ID是"+id+country);
}
public static void swap() {//可以通过类,来调用
	System.out.println(country);//在static函数中,只能加静态变量,不能加别的。例如name,id,age。
}
} 
package a;

public class b {

	public static void main(String[] args) {
		a s=new a();
		s.print();//继承性
		a s1=new a("123","小飞飞",20);//这个是
		s1.print();
		a s2=new a();
		s2.swap();
		a.swap();
		}
	

}

05)继承

1,父类

package test;

public class test1 {
	private String id;
	private String name;
	private int age;
	public test1() {
		id=null;
		name=null;
		age=0;
	}
	public test1(String name,String id,int age) { //子类中继承了这里
		this.name=name;
		this.id=id;
		this.age=age;
	}
	public void print() {
		System.out.println(name+" "+id+" "+age);
	}
	
}

2,子类


//新建子类   ->new->class->输入名称test2->Superclass中找到父类->在Which method...中选第二个

package test;

public class test2 extends test1 {
	private String num;
	private String majoc;
	public test2() {
		num=null;
		majoc=null;
	}
	//重载:调用父类的构造方法,也要带上子类原来的构造方法
	public test2(String name, String id, int age,String num,String majoc) {
		super(name, id, age);//**********就是继承了父类**********************
		this.num=num;
		this.majoc=majoc;
	}
	//重写
	public void print(){
		super.print();//***************调用父类*****************************
		System.out.println(num+" "+majoc);
	}
}

3,主函数

package test;

public class zhulei {

	public static void main(String[] args) {
	test1 s=new test1();//调用父类的构造方法
	s.print();
	test2 s1=new test2();//调用子类的构造方法
	s1.print();
	}

}

06)多态性

主类

package duot;

public class test1 {
	private float l;
	private float w;

	public test1(float l,float w) {
		this.l=l;
		this.w=w;
	}
	public float areal(float l) {
		return l;
	}
	public float areaw(float w) {
		return w;
	}
	public void area() {
		
	}
}

子类1

package duot;

public class test2 extends test1 {
	private String name;

	public test2(float l, float w,String name) {
		super(l, w);
		this.name=name;
		// TODO Auto-generated constructor stub
	}
	public void area() {
		System.out.println(name+":"+super.areal(12)*super.areaw(13));
	}

}

子类2

package duot;

public class test3 extends test1 {
	private int a;
	

	public test3(float l, float w,int a) {
		super(l, w);
		this.a=a;
	}
	public void area() {
		System.out.println("面积:"+super.areal(13)*super.areaw(91)+" "+"排位:"+a);
	}

}

测试类

package duot;

public class test {
	//方法2
	public static void w_area(test1 s) {
		s.area();
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
	test1 s=new test1(12,13);
	test2 s1=new test2(13,14,"xioaxioa");
	test3 s2=new test3(12,13,12); 
	/*
	 * 方法1
	 * s=s1;//向上翻转,这样写,才算多态
	*s.area();//统一接口
	*s=s2;
	*s.area();
	}
	*/
	w_area(s1);
	w_area(s2);
}
}

08)接口

1,创建接口

//点击NEW—>再点击interface->输入文件名
package test2022421;

public interface jiekou {
	public void powerOn() ;
	public void powerOff();
}

2,继承接口

点击NEW->再点击class->在intefaces中选中接口->在将最后一个打钩
package test2022421;

public class shubiao implements jiekou {
	private String name="鼠标";
	
	@Override
	public void powerOn() {
		// TODO Auto-generated method stub
		System.out.println(name+":鼠标插入接口");
	}

	@Override
	public void powerOff() {
		// TODO Auto-generated method stub
		System.out.println(name+":鼠标拔出接口");
	}

}

3,在建一个测试类(带main)

package test2022421;

public class ceshi {
	//在接口中不能NEW
	public static void on_show(jiekou s) {   //()括号里的要以接口未对象
		s.powerOn();
	}
	public static void off_show(jiekou l) {   //()括号里的要以接口未对象
		l.powerOff();
	}
	
	public static void main(String[] args) {
		shubiao u=new shubiao();
		jianpan j=new jianpan();
		on_show(u);
		off_show(u);
		on_show(j);
		off_show(j);
	}
}

(以上可能会有错误,希望各位帮忙指正)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值