04.Java 语法

2021-03-04  本文已影响0人  codingHi

计算机基础知识

表达式(expression):Java中最基本的一个运算。比如一个加法运算表达式。1+2是一个表达式,a+b也是。

计算机内存的最小存储单元是字节(byte),一个字节就是一个8位二进制数,即8个bit。
它的二进制表示范围从00000000~11111111,换算成十进制是0~255,换算成十六进制是00~ff。

语句(statement):类似于平时说话时的一句话,由表达式组成,以;结束。比如 int a=3; y=a+9; System.out.println(y); 都是语句。
bit: 一个二进制的位叫做一个 bit。例如 1010 就是四个位,也就是4个bit。(常见于 网络带宽中的单位)
byte: 是八个二进制的位,组成一个 byte(也叫字节)。(常见于 硬盘等存储的单位)
byte: 是计算机中基本的衡量存储的单位,计算机在对外使用时不会用bit作为划分存储的单位。
字符集(Charset):字符集就是字符的集合。一般会包含一种语言的字符。比如GBK,是包含所有常用汉字字符的字符集。ASCⅡ是包含英文字符的字符集。
编码(Encoding): char代表一个字符,char的本质也是数字。将数字映射到字符,就叫编码

常用字符集:

  • ASCII码,ASCII表:https://baike.baidu.com/item/ASCII/309296#3
  • Unicode 包含世界上所有常用字符,编码也有几种,包括UTF-8(8-bit Unicode Transformation Format),UTF-16等。
  • Unicode,GDK 等所有常用的字符集,都会兼容ASCII。举个例子,字符A在这些所有常用的字符集里,都是对应数字65。

转义符语法和常用的转义符

  • \n,换行符
  • ",双引号
  • \t,制表符
  • \uXXXX,Unicode编码对应的字符。

Java中的字符集

  • Java中用的是 UTF-16编码的Unicode。
  • UTF-16用16个 bit,即两个byte,也就是char占用两个byte的原因。当把char转成数字的时候,需要用int。

基本语法

编写 Java 程序时,应注意以下几点:

源文件声明规则

Java修饰符

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

1.访问控制修饰符 : default, public , protected, private

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。

default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法
protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

image.png

2.非访问控制修饰符 : final, abstract, static, synchronized

static 修饰符,用来修饰类方法和类变量。
final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
abstract 修饰符,用来创建抽象类和抽象方法。
synchronized 和 volatile 修饰符,主要用于线程的编程。

Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。


1.png 2.png 3.png

Java 源程序与编译型运行区别

image.png

Java变量

Java语言支持的变量类型有:

1.类变量(静态变量):独立于方法之外的变量,用 static 修饰。
2.实例变量:独立于方法之外的变量,不过没有 static 修饰。
3.局部变量:类的方法中的变量。
public class Variable{
    static int allClicks=0;    // 类变量
    //salary是静态的私有变量(类变量)
    private static double salary;
    // DEPARTMENT是一个常量(类变量)
    public static final String DEPARTMENT = "开发人员";
    //(类变量)
    public static void main(String[] args){
        salary = 10000;
        System.out.println(DEPARTMENT+"平均工资:"+salary);
    }

    String str="hello world";  // 实例变量
    private/protected/public/default String str1="hello world-1";  // 实例变量

    public void method(){
        int i =0;  // 局部变量
    }
}
import java.io.*;
public class Employee{
   // 这个实例变量对子类可见
   public String name;
   // 私有变量,仅在该类可见
   private double salary;
   //在构造器中对name赋值
   public Employee (String empName){
      name = empName;
   }
   //设定salary的值
   public void setSalary(double empSal){
      salary = empSal;
   }  
   // 打印信息
   public void printEmp(){
      System.out.println("名字 : " + name );
      System.out.println("薪水 : " + salary);
   }
 
   public static void main(String[] args){
      Employee empOne = new Employee("RUNOOB");
      empOne.setSalary(1000.0);
      empOne.printEmp();
   }
}

Java 常量

继承

运算符

两个int相加结果的类型就是int,两个byte相加,结果的类型是int。
一个int一个double结果是double类型

比较运算符

">、 >=、 <、 <=、 !=、 =="

布尔运算符

!、 &、 &&、 |、 ||

&和&&、|和||的区别, ||和&&是带有短路逻辑(JS里好像是这么叫的)的。Java中要用&&和||不要用单个的

运算符优先级

()
!
*,/,%
+,-
<,<=,>,>=
==
!=
&,&&,|,||
=

Java中的位运算符

以0开头的整数为八进制
以0x开头的整数为十六进制(x可以是大写,可以是小写,一般都是写小写的)
按位运算符(可以理解为为二进制定制一种运算)
位移运算符(只是把指定的二进制拿出来进行计算,并不会修改原二进制数)
  >>:符号位不动(数字都是有符号位的,第一位是符号位,符号位为0是正数,符号位为1是负数),其余位又移,符号位后边补0,又称带符号右移
  >>>:符号位一起右移,左边补0,又称无符号右移
  <<:左移,右边补0。左移没有带符号位一说,因为符号位在最左侧
  例子: 
      int a=0x400
      a>>2

二进制数:0101 1101 并不是说符号位是负,那么就是负的101 1101。因为有一套补码规则在,了解就好。

自增和自减操作符

++、--
//前加加得到的是增加完成后的值,后加加得到的是为增加时的值。(这点与JS刚好相反)

条件语句

类(class)语法元素

public class HelloWorld{}

class 是Java语言中的一等公民,Java程序就是一个个的类组成的
类由修饰符,类名和类的内容组成
类名必须与保存类源文件的文件名相同

main方法(main method)语法元素

public class HelloWorld{
   public static void main(String[] args){}
}

Main方法是Java程序执行的入口,一个Java文件可以有很多个方法,Java程序会从main方法开始执行。
方法由方法修饰符,方法名,参数列表和方法体等组成

System.out.printIn

public class HelloWorld{
   public static void main(String[] args){
      System.out.println();  //注意是ln,是line,一行的缩写
   }
}
上一篇下一篇

猜你喜欢

热点阅读