Java基础语法

Java基础语法

注释

平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

注释并不会被执行,是给我们写代码的人看的

书写注释是一个非常好的习惯

Java中的注释有三种:

  1. 单行注释

 //注释内容  单行注释
  1. 多行注释

 /*
 * 注释内容   多行注释
 */    
  1. 文档注释

 /**
 *@Description JavaDoc
 *@Author    文档注释
 */

有趣的代码注释

 /***
  * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
  * │Esc│   │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│  ┌┐    ┌┐    ┌┐
  * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘  └┘    └┘    └┘
  * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
  * │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
  * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
  * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │   │
  * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
  * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │               │ 4 │ 5 │ 6 │   │
  * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
  * │ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
  * ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
  * │ Ctrl│    │Alt │         Space         │ Alt│    │    │Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
  * └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
  */

 

标识符

关键字

abstract assert boolean break byte

case catch char class const

contimue default do double else

enum extends final finally float

for goto if implements import

instanceof int interface long native

new package private protected public

return strictfp short static super

switch synchronized this throw throws

transient try void votatile while

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

标识符注意点

所有的标识符都应该以字母(A-Z或者a-z),美元符号($)、或者下划线(_)开始

首字符之后可以是字母(A-Z或者a-z),美元符号($)、下划线(_)或数字的任何字符组合

不能使用关键字作为变量名或方法名

标识符是大小写敏感的

合法标识符举例:age、$salary、_value、__1_value

非法标识符举例:123abc、-salary、#abc

 public static void main(String[] args){
     String 王者荣耀 = "最强王者";
     System.out.println(王者荣耀);
 }

可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音

数据类型

强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

弱类型语言

Java的数据类型分为两大类

  • 基本类型(primitive type)

 //整数
 int num1 = 10; //最常用
 byte num2 = 20;
 short num3 = 30;
 long num4 = 30L; //Long类型要在数字后面加个L
 ​
 //小数
 float num5 = 50.1F; //Float类型要在数字后面加个F
 double num6 = 3.141592653589793238462643;
 ​
 //字符
 char name = '中';
 ​
 //布尔值
 boolean flag =true;
 // boolean flag = false;
  • 引用类型(reference type)

什么是字节

位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。

字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示,

1B(byte,字节)=8bit(位)

字符:是指计算机中使用的字母、数字、字和符号

1bit表示1位

1Byte表示一个字节 1B=8b

1024B=1KB

1024KB=1M

1024M=1G

 

 public static void main(String[] args){
     int i = 10;
     int i2 = 010; //八进制0
     int i3 = 0x10; //十六进制0x   0~9  A~F  16
     
     
     //转义字符
     // \t 制表符
     // \n 换行
     // ......
 }

类型转换

由于Java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换

 byte-->short-->char-->int-->long-->float-->double

运算中,不同类型的数据先转化为同一类型,然后进行运算

强制类型转换 (类型)变量名 高----低

自动类型转换 低-----高

 /** 注意点:*  1.不能对布尔值进行转换*  2.不能把对象类型转换为不相干的类型*  3.在把高容量转换到低容量的时候,强制转换*  4.转换的时候可能存在内存溢出,或者精度问题*/

变量

变量是什么:就是可以变化的量!

Java是一种强类型语言,每个变量都必须声明其类型

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

变量作用域

  1. 类变量

  2. 实例变量

  3. 局部变量

 public class Demo{    
     //类变量  salary   
     static double salary =2500;        
     //属性:变量      
     //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0    
     //布尔值:默认是false  
     String name;   
     int age;      
     //main方法   
     public static void main(String[] args){      
         //局部变量:必须声明和初始化值     
         int i = 10;       
         //变量类型      
         Demo demo = new Demo();        
         //类变量 static     
         System.out.println(salary);        
     }   
     
     //其他方法   
     public void add(){    
         
     }
 }

常量

常量(Constant):初始化(initialize)后不能再改变值!不会变动的值

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

 final 常量名 = 值final double = 3.14

常量名一般使用大写字符

变量的命名规范

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

类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_VALUE

类名:首字母大写和驼峰原则:Man,GoodMax

方法名:首字母小写和驼峰原则:run(),runRun()

运算符

Java语言支持的运算符:

  • 算术运算符:+,-,*,/,%,++,--

  • 赋值运算符:=

  • 关系运算符:>,<,>=,<=,==,!= ,instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

  • 条件运算符:?,:

  • 扩展赋值运算符:+=,-=,*=,/=

 // 二元运算符
 // Ctrl+D   复制当前行到下一列
 int a = 10;
 int b = 10;
 int c = 10;
 int d = 10;
 ​
 System.out.println(a+b);
 System.out.println(a-b);
 System.out.println(a*b);
 System.out.println(a/(double)b);
 long a = 1234564863L;
 int b = 123;
 short c = 10;
 byte d = 8;
 ​
 System.out.println(a+b+c+d);  //Long类型
 System.out.println(b+c+d);    //int类型
 System.out.println(c+d);    //int类型
 // 关系运算符返回的结果
 int a = 10;
 int b = 20;
 ​
 System.out.println(a>b);  // false
 System.out.println(a<b);  // true
 System.out.println(a==b); // false
 System.out.println(a!=b); // true
 // ++,--    自增,自减
 int a = 3;
 ​
 int b = a++;    // 执行完这行代码后,先给b赋值,再自增
 // a = a + 1;
 System.out.println(a);   // 4 
 // a = a + 1;
 int c = ++a;    // 执行完这行代码后,先自增,再给b赋值
 ​
 System.out.println(a);    // 5
 System.out.println(b);    // 3
 System.out.println(c);    // 5
 // 逻辑运算符
 // 与(and)   或(or)   非(取反)
 boolean a = true;
 boolean b = false;
 ​
 //逻辑与运算:两个变量都为真,结果才为true
 System.out.println("a && b:"+(a&&b)); // false
 //逻辑或运算:两个变量有一个为真,结果为true
 System.out.println("a || b:"+(a||b)); // true
 // 如果为真,则变为假,如果为假,则变为真
 System.out.println("!(a && b):"+!(a&&b)); //true
 // 三元运算符
 // x ? y : z
 // 如果x = true ,则结果为y,否则结果为z
 int score = 80;
 String type = score < 60 ? "不及格" : "及格";
 System.out.println(type); // 及格
 // 扩展赋值运算符
 int a = 10;
 int b = 20;
 ​
 a += b; // a = a + b;
 System.out.println(a); // 30
 ​
 a -= b; // a = a - b;
 System.out.println(a); //-10

包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间

包语句的语法格式为:

 package pkg1[. pkg2[. pkg3...]],

一般利用域名倒置作为包名

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。

 import package1[.package2...].(classname|*);

JavaDoc

Javadoc命令是用来生成自己API文档的

 

参数信息

  • @author 作者名

  • @version 版本名

  • @since 指明需要最早使用的jdk版本

  • @param 参数名

  • @return 返回值情况

  • @throws 异常掏出情况

 // 参数信息
 /**
  * @author  SummaryProcedure
  * @version 1.0                  类注释
  * @since   1.8
  */
 public class Demo{
     
     /**
      * @param name
      * @return                  方法注释
      * @throws Exception
      */
     public String test(String name) throws Exception{
         return name;
     }
 } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值