Java教程

Java语法基础

本文主要是介绍Java语法基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

java语法

注释

单行注释

// + (内容)

多行注释

/* (内容) */

文档注释

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

tools - generate JavaDoc...

设置 Locale

zh_CN

设置 Other command line arguments

-encoding UTF-8 -charset UTF-8 -windowtitle "接口文档3.4" -link http://docs.Oracle.com/javase/7/docs/api

/** (内容) /*

标识符

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

  • 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始。
  • 首字符之后可以是字母(A-Z或者a-z)、美元符($)、下划线(_)或者数字的任何字符组合。
  • 不能使用关键词作为变量名或者方法名。
  • 标识符是大小写敏感的。
  • 可以使用中文命名但是不建议使用。

关键词

class类


数据类型

强类型语言

要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

Java是强类型语言。所以所有变量先定义再使用。

弱类型语言

对变量的数据类型界限不是很清楚。

例如:在VB Script中,可以将字符串 12 和整数 3 进行连接得到字符串 123,然后可以把它看成整数 123,而不需要显式转换。

Java的数据类型分为两大类

  • 基本类型(primitive type)
  • 引用类型(reference type)

基本数据类型

类型 字节 范围
byte(整数型) 1字节 -128~127
short(整数型) 2字节 -32768~32767
int(整数型) 4字节 -2147483648~2147483647
long(整数型) 8字节 -9223372036854775808~...
float(浮点型) 4字节(8位指数值) ±2128到±2(-149)
double(浮点型) 8字节(11位指数值) ±21024到2(-1074)
char(字符类型) 2字节 所有字符(Unicode编码)
boolean类型 1位 true or false
//八大数据类型
//整数
        int num1 = 10; //最常用
        byte num2 = 20;
        short num3 = 30;
        long num4 = 30L;//long类型要在数字后面加个L或者l
//小数;浮点数
        float num5 = 40.1F;//float类型要在数字后面加个f或者F
        double num6 = 3.14159;
//字符
        char name = '国';//字符只有一个字符
//字符串,String不是关键字,是类
        String name2 = "大可爱";
//布尔值,表示是非
        boolean flag1 = true;
        boolean flag2 = false;

//====================================================
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制
        int n1 = 10;
        int n2 = 010;
        int n3 = 0x10;
//====================================================//浮点数拓展     //====================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好不用浮点数进行比较 精确比较用BigDecimal
//比较大的数字进行输入时可以使用_下划线来分割数字,不影响输出和计算。

        float f1 = 0.1f; //0.1
        double d1 = 1.0/10; //0.1

        System.out.println(f1==d1); //false
//====================================================
//字符拓展 //====================================================
        char c1 = 'a';
        char c2 = '中';

        System.out.println(c1);//a
        System.out.println((int)c1);//97 强制转换
        System.out.println(c2);//中
        System.out.println((int)c2);//20013 强制转换
//所有的字符本质还是数字
//字符在java中采用unicode编码 占用2字节 0-65536
//U0000~UFFFF
        char c3 = '\u0052';
        System.out.println(c3);//R
 //====================================================
//转义字符
//====================================================
// \t 制表
// \n 换行
// ....
        System.out.println("hello\nworld");
//====================================================
//布尔类型 //====================================================
        boolean flaga = true;
        if(flaga==true){} //新手
        if(flaga){} //老手
//java代码要精简易读

基本引用类型

接口
数组

类型转换

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

\\低------------------------------------>高
\\byte,short,char->int->long->float->double
\\运算中,不同类型的数据先转化为同一类型,然后进行运算。
       int a = 128;
        byte b = (byte)a; //数据溢出
        double c = a; //冗余
//强制转换 (类型)变量名 高->低
//自动转换 直接引用 低->高
        System.out.println(a);//128
        System.out.println(b);//-128
        System.out.println(c);//128
System.out.println("==============================");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.8f); //-45      System.out.println("==============================");
        char d = 'a';
        int f = d+1;
        System.out.println(f);//97
        System.out.println((char)f);//b
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象值转换为不相干的类型
3.在把高容量转换为低容量的时候,强制转换。
4.转换的时候可能存在数据溢出,或者精度问题。
*/

变量

  1. Java时一种强类型语言,每个变量都必须声明其类型。

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

tpye varName [=value][{,varName=[=value]}]
//数据类型 变量名 = 值 ;可以用逗号隔开来声明多个同类型变量。

注意事项

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  2. 变量名必须是合法的标识符。
  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

变量作用域

  1. 类变量
  2. 实例变量
  3. 局部变量
public class demo06 {
    //属性:变量

    //实例变量;从属于对象;
    //实例变量如果不进行初始化,则为默认值。
    //布尔值:默认为false 除了基本类型,其余默认值都为null

    //类变量 前面都有static
    static  int salary = 2500;



     String name;
     int age;

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        //局部变量只在方法里面有效
        int i = 10;
        System.out.println(i);//10

        //变量类型 变量名字 = new demo06();
        demo06 demo06 = new demo06();
        System.out.println(demo06.age);//0
        System.out.println(demo06.name);//null
        System.out.println(salary);//2500

    }
    //其他方法
    public void add(){

    }
}

变量的命名规范

  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun()

常量

  1. 常量:初始化后不能再改变值,不会变动的值。

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

  3. 常量名一般使用大写字符。

final 常量名 = 值;
final double PI = 3.14;

运算符

算术运算符

算术运算符 名称 例子
+ 加法 5+12=17
- 减法 25-10=15
* 乘法 3*8=24
/ 除法 24/6=3
% 求余 24%7=3
++ 自增1 int i = 5;i++
-- 自减1 int i = 5;i--
public class Demo03 {
    public static void main(String[] args) {
        int a = 4;
        int b = a++;//a++ 先赋值再自增 
        int c = ++a;//++a 先自增再赋值
        System.out.println(a);//6
        System.out.println(b);//4
        System.out.println(c);//6
        //幂运算 2^3 
        double pow =Math.pow(2,3);
        System.out.println(pow);//8    
    }
}

赋值运算符

赋值运算符是指为变量或常量指定数值的符号。如可以使用 “=” 将右边的表达式结果赋给左边的操作数。

运算符 名称 举例
= 赋值 c=a+b将把a+b得到的值赋给c
+= 加等于 c+=a等价于c=c+a
-= 减等于 c-=a等价于c=c-a
*= 乘等于 c * =a等价于 c=c * a
/= 除等于 c /=a等价于 c=c / a
%= 模等于 c % =a等价于 c=c % a

关系运算符

比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。

比较运算符 名称 举例 结果
> 大于 a=5; b=2; a>b; true
< 小于 a=5; b=2; a<b; false
>= 大于等于 a=5; b=2; a>=b; true
<= 小于等于 a=5; b=2; a<=b; false
== 等于 a=5; b=2; a==b; false
!= 不等于 b=2; b!=2; false

逻辑运算符

逻辑运算符主要用于进行逻辑运算。Java 中常用的逻辑运算符如下表所示:

逻辑运算符 名称 举例 结果
&& a&&b 如果a与b都为true,则返回true
|| a||b 如果a与b任一为true,则返回true
!a 如果a为false,则返回true,取相反结果
^ 异或 a^b 如果a与b有且仅有一个为ture,则返回true
//逻辑运算符
public class Demo04 {
    public static void main(String[] args) {
        //与(and) 或 (or) 非(取反) 异或
        Boolean a = true;
        boolean b = false;

        System.out.println(a && b);//与 false
        System.out.println(a || b);//或 true
        System.out.println(!(a && b));//非 true
        System.out.println(a ^ b);//异或 true

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);//只要判断第一个符合运算,第二个就不进行运算
        System.out.println(d);//false
        System.out.println(c);//5
    }
}

位运算符

进行位运算时,先将数据转换成二进制。

进行位操作时,除long型外,其他类型会自动转成int型,转换之后,可接受右操作数长度为32。进行位运算时,总是先将短整型和字节型值转换成整型值再进行移位操作的

a = -20 // a = 11111111 11111111 11111111 11101100
b = 30 //  b = 00000000 00000000 00000000 00011110
含义 运算符 举例
左移 << 末尾补0 相当于乘2
右移 >> 负数:最高位补符号位1 正数:最高位补符号位0 相当于除2
无符号右移 >>> 无论是整数还是负数,右移最高位一律补0
&(位与) $ 当相对应的位都为1时,等于1,否则等于0
|(位或) | 当相对应的位有一个为1时,等于1,否则等于0
^(异或) ^ 当相对应的位不相同时,等于1,相同时等于0
~ (取反) ~ 1等于0,0等于1

条件运算符

条件运算符( ? : )也称为 “三元运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2

运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值

例如:

public class HelloWorld{
    public static void main(String[] args) {
        int score=68;
        String mark =(score>=60)?"及格":"不及格";
        System.out.println("考试成绩如何:"+mark);
    }
}

包机制

  • 为了更好地组织类,Java提供了包机制,用于区别类名地命名空间。(分包管理类)

  • 包语句地语法格式为:

    package pkg1[.pkg2[.pkg3...]];
    
  • 一般利用公司域名倒置作为包名。

    www.baidu.com

    com.baidu.www

  • 为了能够使用某一包地成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能。

    import package1[.package2...].(classname|*);
    // * 通配符 
    
这篇关于Java语法基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!