运算符
-
算数运算符 + - * / % ++ --
-
赋值运算符 =
-
关系运算符 > < >= <= == != instanceof
-
逻辑运算符 && || !
-
位运算符 & | ^ ~ >> << >>>(了解)
-
条件运算符 ?:
-
扩展复制运算符 += -= *= /=
operator
Ctrl + D :复制当前行到下一行(idea快捷键)
cast 转换
abs 绝对值 pow 幂运算
public class Demo08 { public static void main(String[] args) { long i = 1267752614654L; int x = 123 ; short s = 23 ; byte b = 2 ; System.out.println(i + x + s + b); System.out.println(x + s + b); System.out.println(s + b); } }
public class Demo08 { public static void main(String[] args) { int i = 10 ; int a = 20 ; int b = 30 ; int c = 40 ; int e = 50 ; System.out.println(i + a); System.out.println(i - a); System.out.println(a * b); System.out.println(b / c); System.out.println(c % e); System.out.println(Math.pow(2,2));//专业的计算需要用到函数进行 } }
public class Demo08 { public static void main(String[] args) { int i = 10 ; int j = 20 ; int b = ++i ; System.out.println(i); System.out.println(b); System.out.println("=========="); int c = b++; System.out.println(b); System.out.println(c); System.out.println(i); System.out.println(j); } }
字符串连接符
public class Demo08 { public static void main(String[] args) { int a = 10 ; int b = 20 ; System.out.println(""+ a + b); System.out.println(a + b + ""); } }
以上语句输出结果为
1020
30
三元运算符
x ? y : z 如果x == true 则结果为true 否则结果为false
public class Demo08 { public static void main(String[] args) { int grade = 50; String level = grade >= 60 ? "pass " : "not to pass" ; System.out.println(level); } }
如上图为简单实例演示 结果为 not to pass
三元运算符也可以用if 替代 但是三元运算符更简洁
运算符的优先级 () 多敲括号不影响代码运行而且可以使代码更清晰
包机制
包的本质就是一个文件夹(防止命名空间枯竭)
一般包名利用公司域名倒置作为包名
package 必须要放在最上方
//阿里巴巴开发手册
JavaDoc
是用来生成API文档的
/**
*author 作者名
*version 版本号
*since 知名需要最早的JDK版本
*param 参数名
*return 返回值情况
*throws 异常抛出情况
*/
public class Doc { String name ; /** * * @param name * @return * */ public String test(String name)throws Exception{ return name ; } }
在方法体语句上文档注释就会生成API文档
java.doc -ending UTF-8 -charset UTF-8 Doc.java
通过命令行
学会查找使用IDEA生产Javadoc 文档!
面向百度进行学习 面向强的人进行学习
Java流程控制
Scanner对象
Java.util.Scanner Scanner类来获取用户的输入
Scanner s = new Scanner(System.in);
next()不能得到带有空格的字符串 nextLine() 返回输入回车键之前的所有字符hasNext
凡是属于IO流的泪如果不关掉会一直站用资源,要养成良好的习惯
public class Demo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("用next方法进行接受"); System.out.println("请输入您需要存入的信息"); if(scanner.hasNext()){ String str = scanner.nextLine(); System.out.println("输入的内容是:"+ str); } scanner.close(); } }
新手阶段需要大量的进行练习
import java.util.Scanner; public class Demo05 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入您要计算的数据"); //需求 实现换行输入数据 进行求和和求平均值输出 double sum = 0.0 ; double average = 0.0 ; int number = 0 ; while(scanner.hasNextFloat()){ double x = scanner.nextDouble(); number++ ; sum += x ; average = sum / number ; System.out.println("您输入的数据的和为"+ sum); System.out.println("您输入的数据的平均值为"+ average); } scanner.close(); } }
顺序结构
java就是顺序结构语言,除非特殊说明都是自上而下按顺序执行
顺序结果是最简单的算法结构
选择结构
if单选择结构
If(布尔表达式){
布尔表达式将执行true的结构
}
if双选择结构
if(布尔表达式){
布尔表达式将执行true的结构
}else{
布尔表达式将执行false的结构
}
得语法者得天下
if多选择结构
public class Demo05 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int grade = scanner.nextInt(); if(grade == 100) { System.out.println("Excellent"); }else if(grade < 100 && grade >= 90){ System.out.println("Wonderful"); }else if(grade < 80 && grade >= 70){ System.out.println("Good"); }else if(grade < 70 && grade >= 60){ System.out.println("Pass"); }else if(grade < 60 && grade >= 0){ System.out.println("Not to Pass"); }else{ System.out.println("The grade is Wrong"); } scanner.close(); }
写代码一定要注意代码的健壮性
多思考 多犯错 才能多进步
if嵌套
算法是提高数据效率
流程控制语句都可以相互嵌套
switch多选择结构
case穿透 用break来阻止穿透 switch 匹配一个具体的值
支持字符串的
反编译 idea
public class Demo05 { public static void main(String[] args) { char grade = 'C'; switch(grade) { case 'A': System.out.println("Excellent"); break ; case 'B': System.out.println("Wonderful"); break ; case 'C': System.out.println("Nice"); break; default: System.out.println(" Not to pass"); } } }
编程是在解决人的问题
没完没了就是循环结构
循环结构
while循环是最基本的循环
while(布尔表达式){
循环体
}
高斯
public class WhileDemo01 { public static void main(String[] args) { int i = 0; int sum = 0; while (i < 100) { ++i ; sum += i; } System.out.println(sum); } }
上述实例旨在进行求1+2+3+...+100的和
do while 至少会执行一次
While 先判断再执行
do while 先执行再判断
public class DoWhileDemo01 { public static void main(String[] args) { int a = 0 ; while(a < 0) { a++; System.out.println(a); } System.out.println("==========="); do { a++; System.out.println(a); }while(a < 0); } }
以上代码体现了while 与dowhile 的区别
While 无输出
Dowhile 输出1
For循环
所有的玄幻都可以用 while dowhile 表示
for循环结构是最有效最灵活的循环结构
for循环的快捷键 100.for
for(int i = 0 ; i < 100 ; i++ )
for(; ; i++)
for循环输出1-1000之间能被5整除的数,而且每行输出三个
打印九九乘法表
public class ForDemo01 { public static void main(String[] args) { int even = 0 ; int odd = 0 ; for (int i = 0; i < 100; i++) { if (i % 2 == 0) { even += i ; }else{ odd += i ; } } System.out.println(odd); System.out.println(even); } }
以上为1-100之间的奇数和以及偶数和实现
public class ForDemo02 { public static void main(String[] args) { //输出1 - 1000 之间能被5整除的数 每三个数换行 for (int i = 0; i < 1000; i++) { if( i % 5 == 0){ System.out.print(i +"\t"); if(i % (5 * 3) == 0){ System.out.println(); } } } } }
以上是实现输出1-1000之间能被5整除的数,三个换一行
实现九九乘法表
public class ForDemo99 { public static void main(String[] args) { for (int j = 1; j <= 9; j++) { for (int i = 1; i <= j ; i++) { System.out.print(j + "*" + i + "=" + (j * i) + "\t"); } System.out.println(); } } }
循环的嵌套
增强For循环
主要是用在数组和集合中的
int[] numbers = {10,20,30,40,50};
For(int x : numbers){
System.out.println(x);
}
public class ZForDemo { public static void main(String[] args) { int [] numbers = {10 , 20 ,30 , 40 , 50} ; for (int i = 0; i < 5; i++) { System.out.println(numbers[i]); } System.out.println("========="); for(int x : numbers){ System.out.println(x); } } }
以上为增强型for循环实例
break continue
break用于强制退出循环语句
continue跳出当前循环
public class BreakDemo { public static void main(String[] args) { for (int i = 0; i < 100; i++) { System.out.println(i); if( i == 30){ break ; } } } }
以上为break实例语句 break很有抗争精神
public class ContinueDemo { public static void main(String[] args) { for (int i = 0; i < 100; i++) { System.out.print(i); if(i % 10 == 0){ System.out.println(); continue; } System.out.print(i); } } }
以上为continue实例语句 continue情绪化比较严重
goto
影子存在 在continue 和break中有体现 标签
带标签的continue
public class ContinueDemo { public static void main(String[] args) { int count = 0 ; //输出101 - 500 之间的质数 order: for (int i = 101; i < 500; i++) { for(int j = 2 ; j < i/2 ; j++){ if(i % j == 0) continue order ; } System.out.println(i); } } }
以上实例实现了101-500间质数的输出 中有goto的影子标签