慢点跑,前面的路不好走
——24.1.14
1.概述:开发工具
2.特点:
a、idea是java写的,所以本地上必须有正确的jdk环境
b、idea自动保存
c、不用我们打开dos命令窗口执行javac和java命令
d、idea有强大的快捷键、生成代码、纠错等
e、idea会自动管理我们写的代码
3.相关开发工具:eclipse、myeclipse
project(项目) javase
module(模块) 模块三_idea_运算符
package(包) package(包)
算术运算符 三元运算符
算术运算符相关代码 三元运算符相关代码
先创建project,在project下创建module,在module下创建package
①直接创建一个project
②再次创建一个新的project
③先关闭当前的project,再创建新的project
①对要关闭的module右键 -> remove module -> 此时是关闭,不是真正的删除module
②在对这关闭的module右键 -> delete -> 从本地上真正的删除
导入的模块中src若是黑色的,需要改变一下目录的属性,变成源目录
右键 -> delete
公司域名倒着写
1.运行程序 Alt + shift + F10
2.生成main方法:输入main -> 回车
3.生成输出语句:sout -> 回车
4.将变量名放到输出语句中:
①变量名.sout
②变量名.soutv -> 带字符串拼接格式的输出方式 -> 输出格式好看
file -> settings -> editor -> front
file -> settings -> keymap -> code -> code completion -> basic
1.在运行代码时会出现"找不到对应的发行源"或者"不支持发行版本"或者"无效的发行源版本”,证明本地jdk版本和idea中的1anguage leve1不匹配所以要匹配版本
file->project Structure->点击project->引入本地jdk->project level选择对应的版本
2.没有out路径的问题
out路径是专门存放idea自动编译生成的.class文件的所以需要指明out路径
3.src是灰色的,对着src,右键,选项中没有java class或者package
4.刚使用,jdk没有配置
+、-、*、/、%
+ 加法
- 减法
* 乘法
/ 除法 如果符号前后都是整数,结果也是整数部分
如果符号前后有一个为小数,结果就是正常小数
% 模,取余数部分
加号有两种解释:①运算
②字符串拼接:任何类型的数据遇到字符串都会变成字符串,此时+不再是运算,而是字符串拼接,将内容直接往后拼接
int i = 11;
int j = 4;
System.out.println(i+j+""); //字符串15
System.out.println(i+j+""+1); //字符串151
System.out.println(i+""+j); //字符串114
①格式:
变量++ -> 后自加
++变量 -> 前自加
变量-- -> 后自减
--变量 -> 前自减
自加和自减都只变化1
②使用:
a、单独使用:++、-- 单独为一句,没有和其他语句掺和使用
i++,无论是符号在前还是在后都是先进行运行
b、混合使用:++ -- 和其他的语句掺和使用了(比如:输出语句,赋值语句)
符号在前:先运算,在使用运算后的值
符号在后:先使用运算前的值,再运算
int i = 1;
int i1 = i++;
System.out.println(i1);//1
int j = 10;
int j2 = ++j;
System.out.println(j2);//11
System.out.println(i);//2
System.out.println(j);//11
int x = 10;
int y = 20;
int z = x++ + --y + ++x;
System.out.println(z);//10 + 19 + 12 = 41
面试题:
int c = 10;
c = c++;
System.out.println(c); //10
System.out.println(c); //10
①基本赋值运算符:
= 、 -> 先看符号右边的,再把右边的数据赋值给等号左边的变量
②复合赋值运算符:
+=:不能完全看成 i += 1 等价于 i = i + 1
int i = 10;
i += 2 -> i = i + 2
-= *= /=:取整数部分 %=:取余数部分
①结果:boolean型 -> 要么是true,要么是false
②作用:作条件判断使用
== 如果符号前后相等为true,否则为false
> 如果符号前的数据大于符号后的数据为true,否则为false
< 如果符号前的数据小于符号后的数据为true,否则为false
>= 如果符号前的数据大于或者等于符号后的数据为true,否则为false
<= 如果符号前的数据小于或者等于符号后的数据为true,否则为false
!= 如果符号前后相等为true,否则为false
1.作用:连接多个boolean结果的
2.结果:boolean类型的结果
&&(与,并且) 有假则假,符号前后有一个结果为false,整体就是false
| |(或者) 有真则真,符号前后有一个结果为true,整体就是true
!(非,取反) 不是true,就是false;不是false,就是true
^(异或) 符号前后结果一样为false,不一样为true
true ^ true -> false true ^ false -> true
逻辑与、逻辑或 和 短路与、短路或的区别
&(逻辑与、单与) 1.单与,如果前后都是布尔型,有假则假,但是如果符号前为false,符号后的判断会继续执行 2.如果该符号前后都是数字,看作是位运算符
&&(短路与,双与) 1.双与,有假则假,但是有短路效果,如果符号前为false,符号后的判断就不会执行了
|(逻辑或,单或) 1.单或,如果前后都是布尔型,有真则真,但是如果符号前为true,符号后的判断也会继续执行 2.如果该符号前后都是数字,看作是位运算符
||(短路或,双或) 1.双或,有真则真,但是有短路效果,如果符号前为true,符号后的判断就不会执行了
1.格式:
boolean表达式?表达式1:表达式2
2.执行流程:
先判断,如果是true,就走?后面的表达式1,否则就走:后面的表达式2
需求:小明考完试了,判断小明的分数是否及格,返回结果
int score = 59;
String result = score >= 60 ? "及格" : "不及格";
System.out.println("result = " + result);//不及格
有两个老人,年龄分别为70,80 求出两个老人的最高年龄
int old1 = 70;
int old2 = 80;
int max = old1 > old2 ? old1 : old2
System.out.println("max = " + max);
有三个老人,年龄分别为70,80,60 求出三个老人的最高年龄
int old1 = 70;
int old2 = 80;
int old3 = 60;
int temp = old1 > old2 ? old1 : old2;
int max = temp > old3 ? temp : old3;
System.out.println("max = " + max);