第五章:Java基础知识(一)

Java基础知识

Eclipse使用

1. Eclipse下载

  • 官网下载地址:https://www.eclipse.org;
  • 进入官网点击“Download”按钮,如图1;
图1.Eclipse官网
  • 点击“Download Packages”按钮,如图2;
图2.Eclipse下载
  • 选择Eclipse IDE for Enterprise Java Developers,点击对应系统,如图3;
图3.Eclipse下载
  • 点击“Download”按钮,选择国内镜像文件,下载速度会快些,如图4;
图4.Eclipse下载
  • 点击“click here”下载压缩包到本地,如图5;


    图5.Eclipse下载

2. Eclipse安装

  • 将压缩包加压到安装目录下,路径最好不包括中文,双击eclipse.exe文件,启动软件,如图6;
图6.Eclipse安装
  • 配置代码仓库,不建议选择C盘,勾选不再询问,也可不勾选,点击“Launch”按钮,启动软件,如图7;
图7.Eclipse安装

3. Eclipse使用

  • File--》 new --》Other...--》 Java project,如图8;
图8.Eclipse使用
  • 输入项目名(英文全部小写),选择jre(与安装jre版本统一),点击“Finish”,如图9;
图9.Eclipse使用
  • 修改编译器版本,改为与安装jre版本相同,Window--》Preferences--》Compiler,如图10;
图10.Eclipse使用
  • 项目创建完成,如图11;
图11.clipse使用
  • 在“src”下创建一个包,右击“src”--》 new --》Package,输入包名(命名规则见下面标识符知识点),如图12;
图12.Eclipse使用
  • 在包下创建Java类,右击包名--》 new --》Class,输入类名(命名规则见下面标识符知识点),勾选“public static void main(String[] args)”默认生成主方法,如图13;
图13.Eclipse使用
  • 运行代码,在主方法中书写代码,点击debug或run,运行代码,输出结果,如图14;
图14.Eclipse使用

关键字

被java语言赋予了特殊含义的标识符,如class,public,static等,JAVA目前共有53个关键字,如图15;

图15.Java关键字

1. 关键字特征

  • 都是完整的单词;
  • 全部由小写字母组成;
  • 严格区分大小写;

2. 保留字

  • 以后有可能用的到,现在先占用;

标识符

给类、方法、变量等命名时使用的字符序列。

1. 组成

  • 大小写英文字母、数字、下划线和$;

2. 注意事项

  • 不能以数字开头,一般以英文字母开头;
  • 不能是系统的关键字,会报错或其他未知错误;
  • 严格区分大小写;

3. 标识符命名规范

  • 包:存放和管理Java文件或类的工具,字符全部小写,公司网址反过来书写;
  • 类:大驼峰命名法,首字母大写,如果多个单词组成每个单词首字母大写;
  • 方法:小驼峰命名法,一个单词全部小写,多个单词第一个单词首字母小写,其他单词首字母大写;
  • 变量:小驼峰命名法,同方法;
  • 常量:一般单词中的字符全部大写,多个单词用下划线连接;
  • 项目名:最好用英文,所有单词全部用小写;

常量

在程序运行过程中,值不会发生变化的量.

1. 种类

  • 字面值常量
    • 字符常量:单引号内包括的内容,只能是单个数字,单个字母或者单个字符,如'a';
    • 字符串常量:双引号内包括的内容,特点是双引号内,如"afa";
    • 整数常量: 所有整数,如2;
    • 小数常量:所有小数,如2.2;
    • 布尔常量:只有两个值,true(正确的),false(错误的),单词不能拼写错误;
    • 空常量:null
  • 自定义常量:根据自己的需求,人为创建一些不变的量,使用final修饰;
    • 接口中定义常量格式:String MY_NAME = "liwei";
    • 类中定义常量格式:public final static String MY_NAME = "liwei";

变量

在程序运行过程中,其值在一定范围内可以发生改变的量,变量的本质是内存中的一个标记。

1. 定义格式

//方式1:数据类型 变量名 = 变量值;
String name = "李伟";
//方式2:数据类型 变量名;变量名 = 变量值;
String name;
name = "李伟";
//方式3:同时定义多个同种类型的变量,以逗号隔开;
String name,gender;
name = "李伟";
gender = "男";

2. 种类

  • 局部变量:定义在方法内部的变量;
  • 成员变量:类的成员,定义在类中方法外;

3. 注意事项

  • 在同一个方法作用域中不能同时定义两个相同名字的变量,即使数据类型不同,但是可以另外赋值;

数据类型

意义:每种数据在内存中占用的大小可能不一样;为了更好的利用存储空间和管理、使用这些数据,我们给每一种数据定义了类型和大小。

1. 分类

  • 基本数据类型;
  • 引用数据类型;

2. 基本数据类型

图16.八大基础数据类型

3. 注意

  • 基本数据类型的整数默认都是int类型;
  • 赋值时不能超出声明数据类型的范围,超出会报错;
  • 可以通过强制转换的方式把超出范围的值赋给某个变量,但会产生数据精度损失;
  • 在定义long类型数据时,后面的整数后追加一个“L”(大小写均可);
  • 基本数据类型的小数默认都是double类型,如果使用float类型需在数值后追加“F”或“f”;
  • char类型的变量只能存放一个字符,除了单引号“'”自己;

4. 数据类型转换

  • 向上转:范围小的数据向范围大的数据转换,自动转换,不会损失精度;
  • 向下转:范围大的数据向范围小的数据转换,强制转换,有可能发生精度损失;

算术运算符

对常量和变量进行操作的符号。

1. 分类

  • +:表示数值相加,Java中还表示正数、字符串连接;
  • -:表示数值相减;
  • *:表示数值相乘;
  • /:表示数值相除;
  • %:表示取余,正负数由左边的数值决定;
  • ++:表示自增,对原来的数据进行+1;
  • --:表示自减,对原来的数值进行-1:
public class Operator {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        //加
        System.out.println(a+b);
        //减
        System.out.println(a-b);
        //乘
        System.out.println(a*b);
        //除
        System.out.println(a/b);
        //摩以
        System.out.println(a%b);
        //自增
        System.out.println(a++);
        System.out.println(++b);
        //自减
        System.out.println(a--);
        System.out.println(--b);
    }
}
图17.算术运算符

2. 注意

  • ++i表示先运算i自身,再赋值,--i也是;
  • i++表示先赋值,后运算自身,i--也是;

赋值运算符

将数值传递给一个变量。

1. 分类

  • =:将值传递给左边;
  • +=:将左右两边的值相加,再将结果传递给左边;
  • -=:将左右两边的值相减,再将结果传递给左边;
  • *=:将左右两边的值相乘,再将结果传递给左边;
  • /=:将左右两边的值相除,再将结果传递给左边;
  • %=:将左右两边的值取余,再将结果传递给左边;
public static void main(String[] args) {
        int a = 10;
        System.out.println(a);
        //加等于
        a += 1;
        System.out.println(a);
        //减等于
        a -= 2;
        System.out.println(a);
        //乘等于
        a *= 2;
        System.out.println(a);
        //除等于
        a /= 2;
        System.out.println(a);
        //摩等于
        a %= 2;
        System.out.println(a);
    }
图18.赋值运算符

关系运算符

又称比较运算符,用来比较运算符两边值的关系,结果只能是boolean值。

1. 分类

  • ==:判断左右两边是否相等;
  • !=:判断左右两边是否不相等;
  • '>':判断左边是否大于右边;
  • '>=':判断左边是否大于等于右边;
  • <:判断左边是否小于右边;
  • <=:判断左边是否小于等于右边;
  • instanceof:判断两边的类型是否相同;
public static void main(String[] args) {
        //等等于
        System.out.println(1 == 1);
        //不等于
        System.out.println(1 != 1);
        //大于
        System.out.println(1 > 1);
        //大于等于
        System.out.println(1 >= 1);
        //小于
        System.out.println(1 < 1);
        //小于等于
        System.out.println(1 <= 1);
        //instanceof
        System.out.println(null instanceof String);
    }
图19.比较运算符

2. instanceof

Java 的保留关键字,左边是对象,右边是类,作用是测试它左边的对象是否是它右边的类的实例,当对象是右边类或子类所创建对象时,返回true;否则,返回false。

  • 左边的对象实例不能是基础数据类型;
  • 左边的对象实例和右边的类需在同一个继承树上;
  • null用instanceof跟任何类型比较时都是false;

逻辑运算符

逻辑运算符关联两个boolean结果, 结果是一个boolean值。

1. 分类

  • &:并,两边同为true才为true;
  • |:或,一边为true即为true;
  • ^:异或,两边相同为false,不同为true;
  • !:非;
  • &&:短路与,只要左边为false就停止,不检测右边,结果为false,左边为true再检测右边,右边为true结果为true,右边为false结果为false;
  • ||:短路或,只要左边为true就停止,不检测右边,结果为true,左边为false再检测右边,右边为true结果为true,右边为false结果为false;
public static void main(String[] args) {
        //并
        System.out.println(true&true);
        System.out.println(true&false);
        System.out.println(false&true);
        System.out.println(false&false);
        //或
        System.out.println(true|true);
        System.out.println(true|false);
        System.out.println(false|true);
        System.out.println(false|false);
        //异或
        System.out.println(true^true);
        System.out.println(true^false);
        System.out.println(false^true);
        System.out.println(false^false);
        //非
        System.out.println(!true);
        System.out.println(!false);
        //短路与
        System.out.println(true&&true);
        System.out.println(true&&false);
        System.out.println(false&&true);
        System.out.println(false&&false);
        //短路或
        System.out.println(true||true);
        System.out.println(true||false);
        System.out.println(false||true);
        System.out.println(false||false);
    }
图20.逻辑运算符

位运算符

对数值进行二进制的位运算。

1. 分类

  • &:有0则为0;
  • |:有1则为1;
  • ^:相同为0,不同为1;
  • ~:按位取反,正数取反,为取负后减一,负数取反,为取正后减一;
  • '<<':有符号左移,左边位待处理数值,右边位移动位数,在低位补0;
  • '>>':有符号右移,同上,如果值为正,则在高位补0,如果值为负,则在高位补1;
  • '>>>':无符号右移,同上,无论值的正负,都在高位补0;
public static void main(String[] args) {
         int d = 10; //二进制:1010
         int e = 5;  //二进制:101
         //&
         System.out.println(d&e);
         //|
         System.out.println(d|e);
         //^
         System.out.println(d^e);
         //~
         System.out.println(~e);
         //<<
         System.out.println(d<<1);
         //>>
         System.out.println(d>>1);
         //>>>
         System.out.println(d>>>1);
    }
图21.位运算符

三元运算符

定义:由三个元素参与运算,并返回一个结果的表达式;

1. 结构

  • 数据类型 变量名 = 变量1 关系运算符 变量2 ? 返回true的结果 : 返回false的结果;例如:String ret = age >= 18 ? "可以浏览此网页" : "我还小,再长几年再过来"

2. 注意

  • ?号前的内容必须返回一个boolean类型的值;
  • ?号后的第一个内容是返回结果为true的时候表达式的结果;
  • :号后面的内容是返回结果为false时表达式的结果;
  • 表达式的返回值的数据类型必须和:前后的类型一致;
package com.javastudy.operator;

public class TernaryExpression {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int age = 18;
        String ret = age >= 18 ? "可以浏览此网页" : "我还小,再长几年再过来";
        System.out.println(ret);
    }
}

图22.三元运算符

运算符优先顺序

图23.运算符优先顺序

你可能感兴趣的:(第五章:Java基础知识(一))