最初的时候是在Linux下编译的
在接下来的学习的JAVA基础中我会慢慢的过度到eclipse下
这里我偶尔还会记录一些Linux命令相关的小技巧
小技巧:
- 同时编译运行,Javac java 可以一起写 中间用 & 隔开
javac Hello.java & java Hello
- 给命令取别名:
alias j='java'
给java这个命令取个别名,下次使用就直接 j Hello 就可以运行了,方便很多
此时j相当于是 java
也可以这样
alias j='java Hello.java'
是不是很方便。
- 去掉别名
unalise j
Linux命令:
Ctrl +a 到命令行首
Ctrl + e 到命令行尾
Ctrl + u 删除整行
基本的流程控制语句:
if else
class IfDemo{
public static void test(int sign){
//如果等于0,输出ok
if(sign == 0){
System.out.println("I am ok!");
//如果是其他,输出not ok
}else{
System.out.println("I am not ok!");
}
}
public static void main(String args[]){
String a = args[0];
System.out.println(a);
// Integer.parseInt() 将String类脂强制转换成int类型
test(Integer.parseInt(a));
}
}
编译
运行的时候记得加上参数:
- 否则出现:
ArrayIndexOutOfBoundsException
数组下标越界异常
结果:
在LINUX下 也可做这种判断 0表示成功 1表示失败 2 3 ……表示其他个钟错误
switch开关语句
//判断表达式里的值
switch (10) {
//如果是值是1,则执行这段
case 1:
System.out.println(1);
break;
//如果是值是2,则执行这段
case 2:
System.out.println(2);
break;
case 50:
System.out.println(50);
break;
//所有条件不成立执行这段
default:
System.out.println(30);
break;
}
for循环语句
for 循环在三个平台下比较有什么不同
- Shell里面的for循环
#!/bin/bash
echo "Hello World!"
:<<!
for name in 1 2 3 4 5 6 7 8 9 10
do
echo $name
done
!
#这里才开始执行,上面那段被我注释掉了
for((i=0;i<=100;i++))
do
echo $i
done
- Shell下的遍历数组:
#!/bin/bash
echo 123
arrayx=(1 2 3 4 5)
#for((a=1;a<10;a++))
for a in ${arrayx[@]}
do
echo $a
done
- JavaScript 里的for循环
for(var i = 0; i<=100; i++){
console.info(i)
}
前两者都是解释性语言,相比java里面的for循环,会加更严谨。
- Java中的for循环
public class ForDemo{
public static void main(String args[]){
for(int i = 0;i<=100; i++){
System.out.println(i);
}
}
}
- for遍历数组
public class Array{
public static void main(String args[]){
int arr[] = {1,2,3,4,5,6,7,8,9,10};
for(int i = 0; i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
i++ 先使用再运算
++i 先运算在使用
- for中的死循环
for(;;){
//code
}
在for循环中,还有一种增强for循环叫:forEach循环
public class ForEach{
public static void main(String args[]){
int i[] ={0,1,2,3};
for(int j : i){
System.out.println(j);
}
}
}
相比for循环,forEach循环更加简洁,方便,但是一般我们都使用for循环,因为看起来逻辑比较清晰
结束循环的三种方法:
break 跳出当前循环(只会退出当前的循环)
continue 跳出本次for的执行
return 跳出所有的循环
while循环的两种方式
- 源码:
public class WhileDemo{
//第一种方式:先执行后判断
public static void test(){
int i = 0;
/*
while(逻辑表达式){语句;....}
先判断逻辑表达式,若条件成立时,再执行语句,直到条件不成立为止。
若逻辑表达式为true时,则一直执行。
*/
while(true){
//执行累加
i+=1;
//i等于5时跳出循环
if(i == 5){
break;
}
System.out.println("当前:" + i);
}
}
//第二种方式:先判断后执行
public static void test1(){
int i = 0;
/*
do{语句;...;}while(逻辑表达式);
先执行语句,再判断逻辑表达式,至少会执行一次
*/
do{
System.out.println("当前:" + i);
i++;
}while(i<=5);
}
public static void main(String args[]){
//第一种方式
System.out.println("第一种方式\n");
test();
//第二种方式
System.out.println("\n第二种方式");
test1();
}
}
1、先判断再执行
到5的时候就结束了。
2、先执行再判断
do…while循环在执行的时候,无论怎样都会执行一次。
try-catch-finally 异常处理
虽然这是后面的内容,但是也属于流程控制的一种,这里先拿出来简单介绍一下,以后会慢慢详解
- try catch 主要是应对运行时的异常
public class TryDemo{
public static void main(String args[]){
//try里面放有可能出现异常的代码
try{
int i = 5/0;
//可以精准捕获异常Exception 是所有异常的父类
}catch(Exception e){
System.out.println("0不能做除数(异常的时候在这里处理)");
}finally{
System.out.println("不管怎样,我都会执行");
}
}
}
- throw 抛出一个异常
public class TryDemo{
//定义一个测试方法,抛出一个异常
public static void test() throws ArithmeticException{
int i = 5/0;
}
public static void main(String args[]){
//抛出了异常之后需要捕获一下
try{
test();
}catch(Exception e){
//在这里处理异常
e.printStackTrace();
}
System.out.println("我是异常之后的代码");
}
}