Java语言基础

Java语言基础

1、Java语言规范
public class HelloWord {
	public static void main(String[] args) {
		System.out.println("Hello,Word!");
	}
}

详解:

关键字public表示访问说明符,表面该类是一个公共类,可以控制其他对象对类成员的访问。
关键字class用于声明一个类,其后所跟的字符串是类的名称。
关键字HelloWord是类名。
关键字 static 表示该方法是一个静态方法,允许调用 main() 方法,无须创建类的实例。
关键字 void 表示 main() 方法没有返回值。
main() 方法是所有程序的入口,最先开始执行。

2、逻辑运算符
运算符用法含义
a&&ba与b
a || ba或b
!a非a
3、基本语句
for循环

根据循环次数限制做多少次重复操作
for(条件表达式1;条件表达式2;条件表达式3){
语句块;
}

例:for(int i=1;i<=5;i++){
		int result i*= i;
}
while循环

当满足什么条件的时候,才做某种操作
while(条件表达式){
语句块;
}

例:while(i<=10){
		int n=n*i;
		i++;
	}

while(ture){
//无限循环
//可用System.exit(0)停止
}

if-else语句

根据条件判断之后再做处理
if(条件表达式){
语句块;
} else{
语句块;
}

if (score >= 60) {
       System.out.println("通过");
   } else if (score >= 80) { 
       System.out.println("不合格");

switch-case语句

判断一个变量与一系列值中某个值是否相等
switch(变量){
//变量类型可以是: byte、short、int 或者 char。
case value :
case value :
default : //如果参数num不满足任何 case,则>执行 default 后的语句
}

4、输入与输出

通过 Scanner 类来获取用户的输入。
然后用print和println控制输出。print不会将光标移动到下一行,println会将光标移动到下一行。

例题:编写程序,实现两数之积的功能。提示用户输入两个整数,然后输出两数的乘积。循环执行程序,当用户输入两个数都为零时,退出程序。

import java.util.Scanner;
public class B {
	public static void main(String[] args) {
		for(;;) {
		Scanner input1 = new Scanner(System.in);
		System.out.print("请输入整数a:");
		int a = input1.nextInt();
		Scanner input2 = new Scanner(System.in);
		System.out.print("请输入整数b:");
		int b = input2.nextInt();
		if(b==0 && a==0) {
			System.exit(0);
		}
		int result = a*b;
		System.out.println("两数乘积结果为"+ result);	
	}

}
}
4、数组
一维数组

数组的下标起始值为0

1、声明一维数组:
type[] arrayName; // 数据类型[] 数组名;
例:
int[] score; // 存储学生的成绩,类型为整型
double[] price; // 存储商品的价格,类型为浮点型
String[] name; // 存储商品名称,类型为字符串型
2、分配空间:
arrayName = new type[size]; // 数组名 = new 数据类型[数组长度];
例:
score = new int[10];
price = new double[30];
name = new String[20];
3、对数组进行赋值
例:
int[] number = new int[5];
number[0] = 1;
number[1] = 2;
number[2] = 3;
number[3] = 5;
number[4] = 8;
也可以直接赋值:
int[] number = new int[]{1, 2, 3, 5, 8};

二维数组及多维数组

就是多加个中括号……

5、面向对象
(1)认识类和对象

类是构造面向对象程序的基本单位。
类是对象的抽象,对象是类的具体。
类是描述了一组有相同特性(属性)和相同行为(方法)的一组对象的集合。
对象执行的操作称为类的方法
三大核心特性

定义类所需关键字:class
其完整语法如下

[public][abstract][final]class<class_name>     [extends<class_name>]
[implements<interface_name>]{
			//定义属性部分
		    <property_type><property1>;
		    <property_type><property2>;
		    <property_type><property3>;
		    ···
		    //定义方法部分
		    function1();
		    function2();
		    function3();
		    ···
}
//提示:上述语法中,中括号“[]”中的部分表示可以省略,竖线“|”表示“或关系”,例如 abstract|final,说明可以使用 abstract 或 final 关键字,但是两个关键字不能同时出现。
  • public:表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是public 类,作为公共工具供其他类和程序使用的类应定义为 public 类。
  • abstract:如果类被abstract 修饰,则该类为抽象类,抽象类不能被实例化,但抽象类中可以有抽象方法(使用 abstract修饰的方法)和具体方法(没有使用abstract修饰的方法)。继承该抽象类的所有子类都必须实现该抽象类中的所有抽象方法(除非子类也是抽象类)。 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
  • final:如果类被 final修饰,则不允许被继承。
  • class:声明类的关键字。
  • class_name:类的名称。
  • extends:表示继承其他类。
  • implements:表示实现某些接口。
  • implements:表示实现某些接口。
  • property_type:表示成员变量的类型。
  • property:表示成员变量名称。
  • function():表示成员方法名称。
    例:
public class Student {     //声明一个Students的类
//以下为类的属性,即类的数据成员
    public String Name;    // 学生姓名
    public int Age;    // 学生年龄
    private boolean Sex;    // 学生性别

public boolean isSex() { //定义一个布尔型的方法
    return Sex;
}
public void setSex(boolean sex) {
    this.Sex = sex;//让类中一个方法,访问该类里的另一个方法或实例变量。可用于任何实例方法内指向当前对象.调用此方法的那个对象,谁调用指向谁。
}
public static void main(String[] args) {
    Student zhang = new Student(); // 创建第一个实例即对象
    zhang.Name = "张子同";
    String isMan = zhang.isSex() ? "女" : "男";
    System.out.println("姓名:" + zhang.Name + "性别:" + isMan + "年龄:" + zhang.Age);
    Student li = new Student(); // 创建第二个实例
    li.Name = "李子文";
    li.Sex = true;
    li.Age = 15;
    String isWoman = li.isSex() ? "女" : "男";
    System.out.println("姓名:" + li.Name + "性别:" + isWoman + "年龄:" + li.Age);
}
}
}
public class Student {
    public StringBuffer printInfo(Student st) {
        StringBuffer sb = new StringBuffer();
        sb.append("学生姓名:"+st.Name+"\n 学生年龄:"+st.Age+"\n 学生性别:"+st.isSex());
        return sb;
    }
}
//类的创建
public class Student implements Cloneable {   
    // 实现 Cloneable 接口
    private String Name;    // 学生名字
    private int age;    // 学生年龄
    public Student(String name,int age) {    
        // 构造方法
        this.Name = name;
        this.age = age;
    }
    public Student() {
        this.Name = "name";
        this.age = 0;
    }
    public String toString() {
        return"学生名字:"+Name+",年龄:"+age;
    }
    public static void main(String[] args)throws Exception {
        System.out.println("---------使用 new 关键字创建对象---------");
       
        // 使用new关键字创建对象
        Student student1 = new Student("小刘",22);
        System.out.println(student1);
        System.out.println("-----------调用 java.lang.Class 的 newInstance() 方法创建对象-----------");
       
        // 调用 java.lang.Class 的 newInstance() 方法创建对象
        Class c1 = Class.forName("Student");
        Student student2 = (Student)c1.newInstance();
        System.out.println(student2);
        System.out.println("-------------------调用对象的 clone() 方法创建对象----------");

        // 调用对象的 clone() 方法创建对象
        Student student3 = (Student)student2.clone();
        System.out.println(student3);
    }
}
public class Demo1_Abstract {
	public static void main(String[] args) {
		//Animal a = new Animal();			//错误: Animal是抽象的; 无法实例化
		Animal a = new Cat();				//父类引用指向子类对象
		a.eat();
	}
}

abstract class Animal {						//定义抽象类
	public abstract void eat();				//定义抽象方法
}

class Cat extends Animal {
	public void eat() {
		System.out.println("猫吃鱼");
	}
}

继承性

程序中的继承性是指子类拥有父类的全部特征和行为,这是类之间的一种关系。Java 只支持单继承。
将多个类的通用属性和方法提取出来,放在它们的父类中,然后只需要在子类中各自定义自己独有的属性和方法,并以继承的形式在父类中获取它们的通用属性和方法即可。

封装性

封装的目的在于保护信息

多态性

多态性体现在父类中定义的属性和方法被子类继承后,可以具有不同的属性或表现方式。多态性允许一个接口被多个同类使用

Get/Set方法
比如,你有一个private String name;这个属性
由于它是 private 私有属性,不能被外部访问到
所以需要提供一个setName(String name)方法来设置它的值,即给对象赋值。
也需要提供一个getName()方法来得到它的值,即获得一个属性的值。
为什么一定要是set和get呢?其实你用其他的方式命名也是可以的
但这样的话,其他的程序员要看懂就有困难了
还有,它有另外的好处
比如你有个字段是name 是可以被设置的 但别人get它的时候 你又不希望提供给他真实的值
你可以这样来写get方法
public String getName(){
return “我的名字是”+this.name+"!";
}

接口中的方法声明只能写成抽象方法的形式
`interface 接口名称{
全局常量声明;
抽象方法声明;
}
举例:

//接口
//InterfaceA.java
public interface InterfaceA{
	public void start();//抽象方法声明
	public void stop();//抽象方法声明
	
}

//实现类
//MovingDisk.java
public class MovingDisk implements InterfaceA{
	//方法实现
	public void start(){
		System.out.println("开始");
	}
	public void stop(){
		System.out.println("结束");
	}
}

//测试类
//Test.java
public class Test{
	public static void main(String[] args){
		InterfaceA a1=new MovingDisk();//将移动硬盘插入到接口A
		a1.start();//开启移动硬盘
		a1.stop();//关闭移动硬盘
	}
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值