Eclipse开发工具的安装
Eclipse是一个软件集成开发环境,可以进行多种语言的软件开发,但是主要还是开发java
1.安装版
Eclipse基于java运行环境的开发工具,本身使用java进行开发,所以需要提前安装jre但是,eclipse作为开发工具需要帮助我们进行代码的编译与执行,所以在安装eclipse之前首先应安装jdk,eclipse需要使用jdk,但是在系统的实际安装过程中,每个人对于文件位置的选择可能不同,导致不能自动获取, 所以eclipse默认获取JAVA_HOME这一环境变量用于获取JDK实际安装位置
(安装版会自动检测电脑是否安装了jdk否则不会进行安装)
2.解压版
直接解压就可以使用,但是没有jdk不能运行
随着技术的不断提升有些版面的eclipse内置jdk
使用
首先创建保持代码的文件夹(也可以使用默认路径)
在实际开发过程中,是以项目进行划分,项目中是以包进行功能划分
Eclipse创建项目
这是创建一个项目需要选择创建项目的类型
选择创建java project
输入项目名点击finish(唯一要求不要出现中文)
javaOOP:创建项目时输入的项目名
Jre system library:java基础开发导入的工具包
Src:存储代码的根目录
包的使用:
本质就是在当前项目中的文件夹,用于区分存放不同的功能的代码
包的命名规则
通常包都是三级以上的层次,用于多功能的区分
命名规则:
通常以小写单词组成,多个层级以.分隔(不写多个层级也可以)
书写规范:
通常以倒置的域名进行书写
com.公司名.项目名.功能名
类的创建
在name处输入类名 public class 类名
运算符
运算符也会进一定程度数据类转换(强制非强制)
算术运算符
+
:算术加 将两数值类型数值进行相加运算
对于String字符串类型+变为字符串连接符,将字符串进行拼接
-
:算术减 将两数值类型数值进行相减运算
*
:算术乘 将两数值数值类型数值进行相乘运算
/
:算术除 根据数值类型不同分为正常的算术除和取整(整数类型不能保存小数)
%:取余 将两数字相除 得到余数
++
:自增1运算符 将当前变量的值取出后加1再次存入
根据自增运算符出现位置有不同的结果
出现在变量前:当变量参与运算时,先进行自增之后在进行运算
出现在变量后:当变量参与运算时,先进行运算之后在进行自增
--
:自减1运算符 将当前变量的值取出后减1再次存入
根据自减运算符出现位置有不同的结果
出现在变量前:当变量参与运算时,先进行自减之后在进行运算
出现在变量后:当变量参与运算时,先进行运算之后在进行自减
赋值运算符
= , +=, -=, =, /=, %=
就是将基本的赋值运算符=与算术运算符组合,提供了运算并赋值的功能
a+=2;//等价与a=a+2;
a=1;//等价于a=a*1;
比较运算符
也叫关系运算符;
基本用于比较两数值类型的关系
比较运算符特点:
1、比较的是数值类型
2、返回值为boolean类型
逻辑运算符
经常用于多个条件表达式(返回值为boolean的算式)的连接校验
与运算(短路与运算):当两端结果都为true时返回true(存假便为假)
或运算(短路或运算):当两端结果都为false是返回false(存真便为真)
非运算:取反 当结果为true返回false 结果为false返回true
异或运算:当左右两边的结果相同时返回false 不同时返回true
短路运算:是与和或目前使用最多的一种形式:根据相应运算的特点,将右侧表达式进行短路
短路与:当表达式左端值为false时 将右侧表达式短路直接返回值
短路或:当表达式左端的值为true时 将右侧表达式短路直接返回值
int i=1;
//System.out.println(1!=1&&i++==2);
//当表达式左边值可以直接返回时 短路右边的表达式 使其不执行
System.out.println(1==1|i++==33);
System.out.println(i);
位运算符
位运算符
运算符 运算 范例
<< 左移 3 << 3 = 24 --> 322*2=24
右移 3 >> 1 = 1 --> 3/2=1
无符号右移 3 >>> 1 = 1 --> 3/2=1
& 与运算 6 & 3 = 2
| 或运算 6 | 3 = 7
^ 异或运算 6 ^ 3 = 5
~ 反码 ~6 = -7
计算机底层进行运算的基本运算符
现将十进制转换为2进制之后按位运算
三目运算符
格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
是可以进行简单逻辑判断并根据判断结果返回不同数据的运算符
三目运算符需要声明变量保存返回的数据
Java流程控制语句
无论什么程序执行流程都是属于流程控制语句(不论多么复杂的代码,都会按照指定的流程进行执行)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
流程控制语句分类
顺序结构
Java程序按照指定的顺序(从上至下,从左至右,按条执行)进行执行
顺序结构概述
是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
总的来说:写在前面的先执行,写在后面的后执行
选择结构
也被称为分支结构。
选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码。
按照分支分
单分支,双分支,多分支
按照语法分
if语句
switch语句
if语句第一种格式:单分支
if(关系表达式) {
语句体
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体
//if语句单分支语法
//if(条件表达式){语句体}
//当执行至if语句时首先执行条件表达式 根据表达式结果进行判断
//当返回结果为true时执行语句体 false则忽略语句体直接向下执行
//当语句体只有一条代码时 {}可以省略 但是不建议省略 因为可能造成程序理解错误
if(true) {
System.out.println("1==1"); System.out.println("1==1");
}
if语句第二种格式:双分支(类似于三目运算符)
if(关系表达式) {
语句体1;
}else {
语句体2;
}
执行流程
首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2
//if语句双分支语法
//if(条件表达式){语句体1}else{语句体2}
//当执行if语句时首先执行条件表达式 根据条件表达式的值进行判断
//当返回结果为true执行语句体1中的代码 false则执行语句体2中的代码 执行结束后继续向下执行
int score=99;
if(score<60) {
System.out.println("不及格");
}else {
System.out.println("及格");
}
If与三目运算符的区别
If条件表达式之后执行的是代码块可以进行代码的书写,三目运算符只能返回指定的值
三目运算符时运算符 if流程控制语句(语法)
if语句第二种格式和三元运算符
三元运算符的操作都可以使用if语句改进,反之不成立
什么时候不成立呢?
当if语句控制的语句体是一条输出语句的时候,就不成立。因为三元运算符是一个运算符,必须要求有一个结果返回。
而输出语句却不能作为一个返回结果。
if语句第三种格式:多分支
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
流程控制语句的嵌套
就是在选择流程相应的分支代码块中继续进行分支流程控制语句的书写,可以通过嵌套完成多条件的动态判断,加大代码阅读执行流畅度
import java.util.Random;
import java.util.Scanner;
public class UtilTest {
public static void main(String[] args) {
//在java开发过程中除了基本的语法与功能外,java本身还提供了一些特殊的'工具'帮我们完成一些其他固定的功能
//Random Scanner
//Scanner扫描器 帮我们扫描控制台 并返回我们输入至控制台的数据
//固定用法
//首先声明创建工具类对象
//工具类默认不在当前目录下 需要导入后使用
Scanner sc=new Scanner(System.in);
//调用其固定方法获取
//int a=sc.nextInt();//获取控制台下一个输入的整数类型数据并返回
//System.out.println(a);
//String s=sc.nextLine();//获取下一行输入的内容 返回字符串内容
//System.out.println(s);
Random r=new Random();
int nextInt = r.nextInt(5);//随机生成0~4之间的数
//使用扫描器与随机数工具类 完成班级随机选择一位同学
//输入行 输入列 使用随机数从输入的行中选择一行 输入的列中选择一列
System.out.println("==随机点名==");
System.out.println("请输入班级排数");
int row=sc.nextInt();
System.out.println("请输入班级列数");
int col=sc.nextInt();
int selectRow=r.nextInt(row)+1;
int selectCol=r.nextInt(col)+1;
System.out.println("随机选择的行为:第"+selectRow+"行");
System.out.println("随机选择的列为:第"+selectCol+"列");
}
}