【狂神说Java学习笔记】阶段一JavaSE基础(四)Java基础语法

目录

  • 一、注释、标识符、关键字
    • 1. 三种注释
    • 2. 标识符&关键字
  • 二、数据类型
    • 强/弱类型语言
    • 1. 基本类型
      • 1.1 整数类型
      • 1.2 关于字节
  • 三、类型转换
  • 四、变量、常量
    • 1. 变量
      • 1.1 三大要素
      • 1.2 关于作用域
      • 1.3 命名规范
    • 2. 常量
  • 五、 JAVA的运算符
    • 算术运算符
      • ++(自增)
      • – –(自减)同理
    • 逻辑运算符
    • 短路运算
    • 位运算符
    • 扩展运算符
    • 字符串连接符
    • 条件运算符
    • 包机制
    • JavaDoc

一、注释、标识符、关键字

1. 三种注释

  • 单行注释//单行注释
  • 多行注释/* 多行注释 */
  • 文档注释 JavaDoc/** @Description JavaDoc */

2. 标识符&关键字

Java所有组成部分都需要名字,类名、变量名以及方法名都被称为标识符

  • 所有标识符都应以字母(A-Z或a-z)、$或下划线(_)开始
  • 首字符之后可以是字母(A-Z或a-z)、$、下划线(_)或数字的任何组合
  • 不能使用关键字作为变量名或方法名
  • 标识符大小写敏感:String manString Man,两个变量完全不同

二、数据类型

【狂神说Java学习笔记】阶段一JavaSE基础(四)Java基础语法_第1张图片

强/弱类型语言

  • 强类型语言:变量使用严格符合规定,所有变量必须先定义后使用(安全性高,速度慢)
// 错误示范:a必须初始化
String a;
System.out.println(a);
// 正确示范
String a = "hello";
System.out.println(a);

1. 基本类型

八大数据类型要记牢!

1.1 整数类型

// 进制的表示

int i = 10;     //十进制
int i3 = 010;	//八进制:前面加上0,以指明是八进制
int i4 = 0x10;	//十六进制(0~9,A~F):前面加上0x,以指明十六进制(x不区分大小写)
// 0x10的二进制:0001 0000
// 0x10的十进制:0*16^0 + 1*16^1 = 16

System.out.println(i);
System.out.println(i2);
System.out.println(i3);

>>>
10
8
16
// 其他
long num1 = 30L       //long类型要在数字末尾加L
float num2 = 50.1F   //float类型要在数字末尾加F
char name1 = “A”	 //只能有一个字符

1.2 关于字节

  • bit(位):计算机内部数据存储的最小单位。11001100:8位二进制
  • byte(字节):计算机数据处理的基本单位。习惯上用B表示
  • 字符:计算机使用的字母、数字、字、符号

所以:byte类型占2字节,一个字节有8位(bit),则2字节占2^8=256位。又因为有正负数,所以byte类型可以使用的数字范围为-128~127(因为正数部分包含0,所以要减1)


三、类型转换

低------------------------------------------>高
byte,short,char -> int -> long -> float -> double

强制类型转换:高转低
自动类型转换:低转高

byte b1 = (byte)i;	//强制类型转换
double b2 = i;      //自动类型转换

四、变量、常量

1. 变量

1.1 三大要素

变量名、变量类型、作用域

1.2 关于作用域

public class Demo08{
     
  //类变量(有static)
  static double salary = 2500;	
  
  //实例变量:从属于对象(方法外,类里)(没有static)
  /**从属于Demo08这个类,通过这个类才能使用。
       不用初始化!有默认值*/
  String name;
  int age;
  
  public void main(String[] args){
     
    //局部变量:必须声明和初始化值(在方法里面)
    int i = 10;

    //输出局部变量
    System.out.println(i);
    
    //输出实例变量
    Demo08 demo08 = new Demo08();
    System.out.println(demo08.age);
    System.out.println(demo08.name);
    
    //输出类变量
    System.out.println(salary);
  }
}

>>>
10	//i
0	//demo08.age的默认值
null    //demo08.name的默认值
2500.0  //salary

1.3 命名规范

所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写&驼峰原则:monthSalary
  • 局部变量:首字母小写&驼峰原则
  • 常量:大写字母&下划线:MAX_VALUE
  • 类名:首字母大写&驼峰原则:Demo09
  • 方法名:首字母小写&驼峰原则

2. 常量

  • constant:初始化后不能再改变
  • 修饰符为final
//修饰符,不区分前后(也可static final)
  final static double PI = 3.14

五、 JAVA的运算符

  • Java语言支持如下运算符:优先级:最好使用()
    • 算术运算符:+,-,*,/,%(余),++(自增),–(自减);
    • 赋值运算符:=;
    • 关系运算符:> , < , >= , <= , == , != , instanceof;
    • 计算结果一定是true or false;以后会和if一起用
    • 逻辑运算符:&& (与), ||(或), !(非);
    • 计算结果一定是true or false
    • 位运算符:&,|,^,~,>>,<<,>>>;
    • 条件运算符:?,:;
    • 扩展赋值运算符:+=,-=,*=,/=;

算术运算符

++(自增)

a++:++在后时,先赋值,再自增;
++a:++在前时,先自增,再赋值;

int a = 5;
int b = a++;//a++加在后,先给b赋值,再自增;
System.out.println(a);//a=6
System.out.println(b);//b=5
================================================
int c = ++a;//++a加在前,先自增,再赋值给c;
System.out.println(a);//a=6;
System.out.println(c);//c=6;

– –(自减)同理

  • 注意事项:
    • 算术运算符使用中,有一个为long或者double类型,其结果为long或者double类型,不然为int类型。
    • 很多运算java,会使用一些很多工具类来操作

逻辑运算符

  • && (与):逻辑与运算,两个变量都为真,结果才为true
  • ||(或):逻辑或运算,两个变量有一个为真,结果才为true
  • !(非):如果是真,则变为假,如果是假则变为真

int q = 10;
int  w = 20;
System.out.println(q<w && w>30);//(false),q30错误,
// 可解释为:q30同时两条成立,结果为true,所以最后结果为"false"
System.out.println(q<w || w>30);//(true),q30错误,
// 可以解释为:q30其中一条成立,结果就为true,所以最后结果为"true"
System.out.println(!(q<w));//(false),q
// 可以解释为:q应该不(非)小于w,但是实际上q

短路运算

当前面为“false”时,后面的将不执行,只有“true”才会运行,这就叫短路运算。

int z = 5;
boolean x = (z<4)&&(z++<4);//由于(z<4)不成立为false,(z++<4)就不运行
System.out.println(x);//(false)
System.out.println(z);//(5)由于(z++<4)没有运算,所以z没有自增

位运算符

& (1):全部为1才为1,否者为0

| (0):全部为0才为0,否者为1

^(同0):相同为0,否者为1

~(取反):取二进制相反的数

 A = 1100 0011
 B = 1001 0110
---------------
A&B= 1000 0010
A|B= 1101 0111
A^B= 0101 0101
~B = 0110 1001

"<<"二进制左位移=代表*2

">>"二进制右位移=代表/2

扩展运算符

+=,-=,*=,/=;()

int a = 5, b = 10;
a+=b;//a=a+b(15)
a-=b;//a=a-b(-5)
a*=b;//a=a*b(50)
a/=b;//a=a/b(0.5)

字符串连接符

在“+”号前出现string类型时,他会把“+”后面的一操作数,转换成steing类型,进行拼接。

 int a = 5, b = 20;
System.out.println("yes"+a+b);//(yes520)
System.out.println(a+b+"yes");//(25yes)
System.out.println("yes"+(a+b));//(yes25)
System.out.println(""+a+b+"yes");//(520yes)
System.out.println(""+a+b+(a+b)+"yes");//(52025yes)

条件运算符

x? y:z //x值如果为true=y,如果为false=z;

int score = 60;
int xm = 70;
int xg = 49;
int xh = 60;
System.out.println("xm:"+(xm>=score ?"及格":"不及格"));//(xm:及格)
System.out.println("xg:"+(xg>=score ?"及格":"不及格"));//(xg:不及格)
System.out.println("xh:"+(xh>=score ?"及格":"不及格"));//(xh:及格)

后期可以使用”if"做

包机制

“包的本质就是文件夹”

  • 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
  • 包语句的语法格式为: package pkg1[.pkg2[.pkg3...]]//定义包
  • 一般利用公司域名倒置作为包名;
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"完成此功能import package1[.package2...].(classname|*);//导入包,*导入这个包下所以的类

尽量不要把包名字重复

JavaDoc

  • javadoc命令是用来生成自己API文档的
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
/**
 * @author ssxxz
 * @version 1.0
 * @since 1.8
 */

生产文档:javadic+参数+java文件

cmd

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

你可能感兴趣的:(JAVA,重新学习)