Eclipse使用
1. Eclipse下载
- 官网下载地址:https://www.eclipse.org;
- 进入官网点击“Download”按钮,如图1;
- 点击“Download Packages”按钮,如图2;
- 选择Eclipse IDE for Enterprise Java Developers,点击对应系统,如图3;
- 点击“Download”按钮,选择国内镜像文件,下载速度会快些,如图4;
-
点击“click here”下载压缩包到本地,如图5;
2. Eclipse安装
- 将压缩包加压到安装目录下,路径最好不包括中文,双击eclipse.exe文件,启动软件,如图6;
- 配置代码仓库,不建议选择C盘,勾选不再询问,也可不勾选,点击“Launch”按钮,启动软件,如图7;
3. Eclipse使用
- File--》 new --》Other...--》 Java project,如图8;
- 输入项目名(英文全部小写),选择jre(与安装jre版本统一),点击“Finish”,如图9;
- 修改编译器版本,改为与安装jre版本相同,Window--》Preferences--》Compiler,如图10;
- 项目创建完成,如图11;
- 在“src”下创建一个包,右击“src”--》 new --》Package,输入包名(命名规则见下面标识符知识点),如图12;
- 在包下创建Java类,右击包名--》 new --》Class,输入类名(命名规则见下面标识符知识点),勾选“public static void main(String[] args)”默认生成主方法,如图13;
- 运行代码,在主方法中书写代码,点击debug或run,运行代码,输出结果,如图14;
关键字
被java语言赋予了特殊含义的标识符,如class,public,static等,JAVA目前共有53个关键字,如图15;
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. 基本数据类型
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);
}
}
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);
}
关系运算符
又称比较运算符,用来比较运算符两边值的关系,结果只能是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);
}
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);
}
位运算符
对数值进行二进制的位运算。
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);
}
三元运算符
定义:由三个元素参与运算,并返回一个结果的表达式;
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);
}
}