常用DOS命令,java基础扫盲式学习和分支语句练习

DOS常用命令:
    1.dir
    无参数:查看当前所在目录的文件和文件夹
    /s:查看当目录以及子目录所有的文件
    /a:查看包括隐藏文件
    /ah:只显示隐藏文件
    /w:以紧凑的方式显示文件
    /p:以分页方式显示
    /more:dir /s | more
    2.cd
    cd目录名:进入特定的目录。
    cd\:退回到根目录
    cd..:退回上级目录
    3.md rd
    md:创建目录
    rd:删除目录
    4.cls
    清屏
    5.copy
    copy 路径/文件名路径/文件名:把一个文件拷贝
    6.move
    move路径/文件名/ 路径/文件名:把文件移动到另一个地方
    注意:是剪切+复制
    7.del
    del文件名:删除一个文件
    del *.*:删除当前文件夹下所有文件
    注意:del不能删除文件夹
    8.deltree
    删除文件夹及内容
    9.type
    type文本文件名:显示出文本文件的内容
    10.ren
    ren旧文件名 新文件名:改文件名
JAVA:
    JDK:开发工具包(包含JRE)
    JRE:JAVA运行环境
    src:JAVA源码
    bin:二进制可执行文件
环境变量的配置:
    path:路径需要导入环境变量(用户变量+系统变量),建议百度一下,
程序开发步骤:
    程序:为实现特定的目标而用计算机语言编写的命令的集合。
    1.编写文件.java文件 2.编译程序.class文件 3.运行程序JVM
helloworld编写:
    public class HelloWorld{
        public static void mian(String[] args){ //字符串数组的名字
        System.out.println("hello world!")
        }
    }
    》》javac helloworld.java---》生成.class文件
    》》java helloworld
  》》javadoc *.java-----》生成文档文件
JAVA跨平台原理:
    .class字节码文件可以跨平台,通过不同平台的JRE编译.class文件
    JVM屏蔽了底层运行平台的差异,实现了“一处编译,处处运行”
JAVA基础:
    变量:系统为程序分配的一块内存单元,用来存储各种类型的数据。
    局部变量:方法内部定义的变量
    成员变量:方法外部,类的内部定义的变量
    JAVA标识符命名规则:
    由字母,数字,下划线和$符号组成
    不能以数字开头
    区分大小写
    长度无限制
    不能和java中保留关键字重复
八种基本数据类型:
进制与转换:
基本数据类型转换:
    自动类型转换:容量小的类型自动转换成容量大的数据类型。如果把int转换为float或long转换为double时不需要强转,但可能会丢失精度。
    注意:byte,short,int在计算时会转换成int类型
    short s = 10;
    short c = 1;
    s = s + c;            //出错:s和c会被转换成int,从int转换成short可能会用损失。/****解决:用+=不会转换*****/
    强制类型转换:把大的容量类型转换为小的数据类型时,要加上强制类型转换。
    eg:s = (short)(s+c);
    注意:有可能造成精度降低或数据溢出。boolean类型不能转换成任何其他的数据类型。
关键字与转义字符:
    关键字:建议百度一下
    保留关键字:goto,const...
    转义字符:如\n,\t,\r,\\,\',\"...
    eg:println中的ln是换行
算术赋值关系运算符:
    算术运算符:建议百度
    表达式:由变量,常量运算符组成的式子
    赋值运算符:=,+=,-=,/=...将一个值赋给一个变量,运算顺序从右到左
    关系运算符:比较两边的操作数,结果是boolean类型的。
    //键盘输入工具类:
    import java.util.scanner;
    Scanner input = new Scanner(System.in);
    int x = input.nextInt();   //从键盘接收一个整数
    string s = input.next();   //从键盘接收一个字符串
    逻辑运算符:^(异或)用于对boolean结果进行运算
逻辑运算符与示例:
    1.根据天数计算周数和剩余的天数,天数通过键盘输入。
    import java.util.Scanner;
    public class Test{
        public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.printIn("please input days:");
        int day = input.nextInt();
        System.out.println("weeks:"+(day/7));
        System.out.println("left days:"+(day%7));
        }
    }
    2.&和&&的区别?
    &:在算术运算时分别计算表达式两边的结果,再作&运算,在做位运算时&表示安位与
    &&:短路与运算,先计算左边的表达式,如果结果是false,那么不用计算右边的表达式,直接返回false。
位运算符与变量交换:
    位运算符:对两个操作数中的一个二进制位都进行运算
    ~:按位去反
    ^:按位异或
    左移:a<<b;将二进制形式a逐位左移b位,最低位补0
    带符号右移:a>>b;将二进制形式的a逐位右移b位,最高位补原符号位
    无符号右移:a>>>b;将二进制形式的a逐位右移b位,最高位补0
    1.通过键盘输入,初始化两个数将这两个数据交换位置后,输出显示交换后的数据。
    Scanner input = new Scanner(System.in);
    System.out.println("please input first num:");
    int a = input.nextInt();
    System.out.println("please input second num:");
    int b = input.nextInt();
    //通过第三变量交换
    int c = a;
    a = b;
    b = c;
    //交换位置,大数会溢出
    a = a+b-(b=a);
    //加减
    a=a+b;
    b=a-b;
    a=a-b;
    //两个数最快交换位置:异或
    a = a^b;
    b = a^b;
    a = a^b;
    System.out.println("a="+a+",b="+b);
三目运算符与优先级:
    (判断条件)?条件成立项:条件不成立项;
if分支语句:
    百度一下。
    1.输入一个字符,判断是大写字母还是小写字母,输出提示信息。
        import java.util.Scanner;
    public class Test{
        public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("please input a word:");
        int c = input.nextInt();   //这里应该输入字符串
        if(c>=65 && c<=90){
            System.out.println("Big w!"+(char)c);
        }else{
            System.out.println("Small w!"+(char)c);
        }
        }
    }
    2.判断某一年是否是闰年?
    import java.util.Scanner;
    public class Test{
        public ststic void main(String[] args){
        System.out.println("plese input year:");
        int year = input.nextInt();
        if((year%4==0 && year% 100!=0)||year%400==0){
            System.out.println("is leap year.");
        }else{
            System.out.println("is not!");
        }
        }
    }
    1.输出成绩等级‘A’‘B’‘C’..
    public class Test{
        public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("please input a score:");
        int score = input.nextInt();
        if(score >= 90){
            System.out.println("A");
        }else if(score<90 && score>=80){
            System.out.println("B");
        }else if(score<80 && score>=70){
            System.out.println("C");
        }else if(score<70 && score>=60){
            System.out.println("D");
        }else{
            System.out.println("E");
        }
        }
    }
switch分支语句:
    1.表达式返回值必须是int,byte,char,short确定的结果
    2.case子句中的取值必须是常量,且所有case子句中的取值应是不同的
    3.default子句是可选的
    4.break语句用来在执行完一个case分支后使程序跳出switch语句块;如果case后面没有写break则直接往下面执行
    5.case后面的执行体可写{}也可不写{}
    *.直接用JDK1.7的字符串条件判断,确定两个数是执行+,-,*,/操作。
    import java.util.Scanner;
    public class Test{
        public ststic void main(){
        Scanner input = new Scanner(System.in);
        System.out.println("num1:");
        int num1 = input.nextInt();
        System.out.println("num1:");
        int num2 = input.nextInt();
        System.out.println("please input op mark:");
        String op = input.next();
        switch(op){
            case "+":
            /*如果在子句中定义变量,会在最近的{}生效。*/
            System.out.println("num1+num2="+(num1+num2));
            break;
            case "-":
            System.out.println("num1-num2="+(num1-num2));
            break;
            case "*":
            System.out.println("num1*num2="+(num1*num2));
            break;
            case "/":
            System.out.println("num1/num2="+(num1/num2));
            break;
            default:
            System.out.println("error op mark!");
            break;
        }
        }
    }
分支语句比较和经验总结:
    if & switch异同:
    同:都是选择分支语句
    异:1.语法不通 2.语句后表达式值得类型不同,if语句为boolean,switch分支表达式值为byte,short,char,int,枚举,String。
        3.使用场景:if变量在区间,switch变量确定
    if & 三目运算
    三目运算符都可以使用if语句实现。
    总结:
    *在实现分支判断时,把匹配成功概率高的判断放在前面,可以提高效率
    *在表达式中判断,我们尽量使用确定的值去跟不确定的值去判断。
while与dowhile循环:
    1.while(条件判断){
    //语句块;
    }                             //特点:先判断,再执行
    练习:计算1-100之间数的和。
    import java.util.Scanner
    public class Test{
    public static void main(String[] args){
        int num = 1;  //计算总数
        int i = 1;
        while(i <=100){
        num+=i;
        i++;
        }
        System.out.println(num);
    }
    }
    2.do{
    循环操作;
    }while(循环条件);          //特点:先执行一遍循环操作,符合条件,再继续
    练习:java阶乘求和 1!+2!+3!+。。。+10!。
    public static void main(String[] args){
    int num = 0;
    int i = 1;
    do{
        int j = 1;
        int jc = 1;
        while(j<=i){
        jc *= j;
        j++;
        }
        num+=jc;
        i++;
    }while(j<=10){
        System.out.println(num);
    }
    }
For循环:
    for(初始化参数;判断条件;更新循环变量){
    循环体;
    }
    注:表达式1省略须在外部声明,表达式2省略死循环,表达式3省略声明在内部,表达式1.3省略,须声明在循环外部和内部,表达式都省略,死循环。
    *输出斐波那契数列:
    public static void main(String[] args){
    int n1 = 1
    int n2 = 1;
    int next = 0;
    System.out.println(na+" "+n2+" ");
    for(int i=0;i<8;i++){
        next = n1+n2;
        System.out.print(next+" ");
        n1 = n2;
        n2 = next;
    }
    }
多重循环示例小结:
    1.打印如下:
    *
    **
    ***
    ****
    *****
    public static void main(String[] args){
    //外循环控制行数
    for(int i = 1;i<=5;i++){
        //内循环控制列数
        for(int j=1;j<i;j++){
        System.out.print("*");
        }
        System.out.println();
    }
    }
    2.打印乘法口诀表
    public static void main(String[] args){
    //外循环控制行数
    for(int i=1;i<=9;i++){
        //内循环控制列数
        for(int j=1;j<=i;j++){
        System.out.print(j+"*"+i+"="+(i*j)+"\t");
        }
        System.out.println();
    }
    }
    3.打印如下
        *
       **
      ***
     ****
    *****
    public static void main(String[] args){
    for(int i=1;i<=5;i++){
        for(int j=5;j>0;j--){
        if(j<=i){       //关键:由j和i的比较决定输出空格还是*
            System.out.print("*");
        }else{
            System.out.print(" ");
        }
        }
        System.out.println();
    }
    }
    4.打印如下:
        *
       ***
      *****
     *******
    *********
    public static void main(String[] args){
    //外循环控制行数
    for(int i=1;i<=5;i++){
        //内循环控制列数
        for(int j=1;j<5;j++){
        System.out.print(" ");
        }
        //内循环输出*,*每次增加2个,
        for(int j=1;j<=i*2-1;j++){
        System.out.print("*");
        }
        System.out.prinyln();
    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值