Java 基础知识复习第一天(1.Java环境配置 2.Java 基本语法 3.对象和类 4.数据类型 5.修饰符和运算符 6.循环和条件语句以及switch case)

标题:

Java 基础知识复习第一天


学习内容:

1 Java环境配置
2 Java 基本语法
3 对象和类
4 数据类型
5 修饰符和运算符
6. 循环和条件语句以及switch case


内容详情:

1.Java环境配置详情

Java环境配置
jdk有很多版本,过旧的版本有很多功能跟不上时代,过新的版本还存在bug,不建议使用,并且现在基本使用的是jdk1.8,所以下载jdk1.8就OK啦。
jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
jdk环境配置:环境配置挺简单的,百度jdk环境配置就有,都差不多,随便挑一个就行,这里我给个地址,虽然jdk有所不同,挑自己需要的jdk就好,不影响配置环境。
jdk环境配置地址:https://blog.csdn.net/renlianggee/article/details/90023464

2.Java基础语法

Java,javac命令:
javac:编译命令,将我们写的源代码转化为虚拟机(jvm)能识别的class字节码文件.
java:运行class文件,由虚拟机对class字节码文件进行解释和运行。

对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
:类是一个模板,它描述一类对象的行为和状态。例如:它是狗类,所以它包含狗,你养的小狗就是一个对象,颜色名字品总就是变量,叫吃就是方法。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。

基本语法
java严格区分大小写:A,a是完全不同的,下面也会体现的

类名:类名首字母必须大写,后面的可随意,但养成个命名好习惯,我们规定后面的每个单词首字母都大写,例如:JavaTest,JavaFirstTest.

方法名:名字首字母小写,后面的规范是每个单词首字母大写.
例如:javaTest,javaFirstTest

源文件名:与类名相同,一般我们一个源文件只有一个类,这样方便管理。

程序运行入口:无论Java还是c都是从main方法开始的。

Java 标识符
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于 Java 标识符,有以下几点需要注意:

所有的标识符都应该以字母(A-Z 或者 a-z)、美元符、或者下划线开始
首字符之后可以是字母(A-Z 或者 a-z),美元符、下划线或数字的任何字符组合
关键字不能用作标识符
标识符区分大小写
合法标识符举例:age、$salary、_value、__1_value
非法标识符举例:123abc、-salary

Java修饰符
像其他语言一样,Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符:

访问控制修饰符 : default, public , protected, private
非访问控制修饰符 : final, abstract, static, synchronized

Java 变量
Java 中主要有如下几种类型的变量
局部变量
类变量(静态变量)
成员变量(非静态变量)

数组,继承,枚举等后面都会具体学,这里就不重复了

3.对象和类
涉及概念较多,我就用个实例来描述一下。

//狗类
public class Dog {
	int age;
	String name;
	public Dog() {
		
	}
	public Dog(int age,String name) {
		this.age=age;
		this.name=name;
	}
	public String eat() {
		
		return "狗吃饭";
	}
	
	public String drink() {
		return "狗喝水";
	}

}
//主类
public class DogTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Dog dog =new Dog(5,"小黄");
		System.out.println(dog.eat());
		
	}

}

类和对象的概念上面已经讲述,就不在重复。
首先有两个类,一个狗类,和一个狗测试类,测试类里面有个主(main)方法,所以程序入口从这里开始。狗类里面包含了很多变量,方法。年龄和姓名就是变量,吃喝还有构造方法就是方法。
变量:成员变量,局部变量,类变量。
类变量:独立于方法之外的变量,用 static 修饰。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。

public class Variable{
    static int allClicks=0;    // 类变量
 
    String str="hello world";  // 实例变量
 
    public void method(){
 
        int i =0;  // 局部变量
 
    }
}

方法:eat drink都是方法,描述狗的行为。
构造方法比较特殊,名字和类名相同,一般用于变量的初始化,构造方法的参数不同,可以写多个构造方法,这也比较简单,有些狗没有名字,就暂时不取名字,所以参数放一个int age就行了,还有些不用构造方法赋值给变量,那就不用传参,需要注意的是,默认的构造方法是没有参数的,我们可以不用写出来,但是人为写了有参数的构造方法,默认的就不存在了,我们如果需要没有参数的,我们还是需要写出来。

4.Java基本数据类型
分两类
内置数据类型
引用数据类型
内置数据类型
byte short int long float double boolean char

byte:
最小值是 -128(-2^7)
最大值是 127(2^7-1)
默认值是 0
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
short:
最小值是 -32768(-2^15))
最大值是 32767(2^15-1)
默认值是 0;
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
int:
最小值是 -2,147,483,648(-2^31)
最大值是 2,147,483,647(2^31 - 1)
默认值是 0
一般地整型变量默认为 int 类型;
long
最小值是 -9,223,372,036,854,775,808(-2^63)
最大值是 9,223,372,036,854,775,807(2^63 -1)
默认值是 0L
这种类型主要使用在需要比较大整数的系统上
float:
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
浮点数不能用来表示精确的值,如货币;
double:
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
默认值是 0.0d;
boolean:
boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
char:
char类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
char 数据类型可以储存任何字符;

引用数据类型
在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
对象、数组都是引用数据类型。
所有引用类型的默认值都是null。
一个引用变量可以用来引用任何与之兼容的类型。
例子:Site site = new Site(“Runoob”)。

数据类型转换
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级:byte,short,char—> int —> long—> float —> double
把容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程可能会有精度溢出或者损失。
char与int进行计算时先将char转化为 ASCII 码表对应的数值再计算。

5.修饰符和运算符

修饰符
主要分为两类:访问修饰符,非访问修饰符。
访问修饰符:public、protect、private、default
public: 公有的,所有类都能访问。
Java 程序的 main() 方法必须设置成公有的,否则,Java 解释器将不能运行该类。
protect:在同一个包下,或者其子类可以访问。
protected 可以修饰数据成员,构造方法,方法成员,不能修饰类(内部类除外)。
接口及接口的成员变量和成员方法不能声明为 protected。
private:不能被访问。
私有访问修饰符是最严格的访问级别,所以被声明为 private 的方法、变量和构造方法只能被所属类访问,并且类和接口不能声明为 private。
声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
default:默认的,同一包下可以访问。
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。

非访问修饰符:static、final、abstract、synchronized 、volatile 、transient
static
静态变量:
static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。
静态方法:
static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。
静态方法和静态变量是属于类的,不是属于实例的,静态方法只能访问静态变量和静态方法。
final:表示最终的,一般修饰后就是常量不可改变,方法也是如此。
abstract
抽象类:
抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。
抽象类可以包含抽象方法和非抽象方法。
抽象方法:
抽象方法是一种没有任何实现的方法,该方法的的具体实现由子类提供。
抽象方法不能被声明成 final 和 static。
任何继承抽象类的子类必须实现父类的所有抽象方法,除非该子类也是抽象类。
如果一个类包含若干个抽象方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法。
抽象方法的声明以分号结尾,例如:public abstract sample();。
synchronized:synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。
transient:序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。
该修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。
volatile:volatile 修饰的成员变量在每次被线程访问时,都强制从共享内存中重新读取该成员变量的值。而且,当成员变量发生变化时,会强制线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。
一个 volatile 对象引用可能是 null。

运算符
算术运算符:+ - * / % ++ –
关系运算符:> < == >= <= !=
位运算符:& | ^ ~ << >> >>>
逻辑运算符:&& || !
赋值运算符:= += -= *= /= %=等
举例:a+=2等价于a=a+2;
其他运算符:条件运算符(三元运算符)
( a?ture:false)
判断a的真假,真执行问号后面,假执行冒号后面。
运算符的优先级
有括号先括号然后
++ – */% + -
<< >> >>>

= <= > < == !=
& ^ |
&& ||
条件运算符
赋值运算符

位运算符的运算涉及的二进制码的需要单独学习,看小一会就会了,其他的运算符都挺简单的。

6.循环和条件语句以及switch case

循环
while 、 do while 、for一般是这三种循环
用得较多的是for循环。
这些都是基础的,比较简单,用的比较多,应该都很熟悉。
还有一种增强型for循环
for(声明语句 : 表达式)
{
//代码句子
}
下面的例子一看就懂了

public class Test {
   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};
 
      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

输出结果:
10,20,30,40,50,
James,Larry,Tom,Lacy,

break关键字:跳出循环
continue关键字:继续循环

条件语句
if else 没啥可说的

switch case
switch case 语句有如下规则:

switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。

switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。

case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。

当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。

当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。

switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值