美文网首页
Java基础教程-运行机制、基本数据类型、流程控制

Java基础教程-运行机制、基本数据类型、流程控制

作者: DayBreakL | 来源:发表于2021-04-07 20:35 被阅读0次

    一、Java语言概述

    Java语言运行机制及运行过程

    1. java语言的特点
    image.png image.png

    不同操作系统上的JVM不一样。

    理解比喻:TFboys在北京、上海、甘肃开演唱会,不同的操作系统,JVM相当于舞台,在不同地方的舞台不一样,TFboys的唱跳相当于JAVA代码,在不同的舞台上都可以进行这一套唱跳。

    image.png
    1. java核心机制
    image.png image.png image.png

    java环境搭建

    image.png

    公司中一般不超过8。

    image.png image.png

    JDK 、JVM、JRE的关系

    image.png

    官方版

    image.png
    1. 下载安装
    image.png
    1. 配置环境变量
    image.png image.png image.png image.png

    开发初体验

    image.png
    class HelloChina {
       public static void main(String[] args) {
        System.out.println("hello world");
       }
    }
    

    注释

    image.png image.png image.png image.png

    API文档

    image.png

    java8 API文档

    https://www.matools.com/api/java8

    image.png

    第一个编程总结

    image.png

    良好的编程风格

    image.png

    java常用集成开发环境

    image.png

    二、Java基本语法

    关键字和保留字

    image.png image.png image.png

    标识符

    image.png image.png

    变量

    image.png image.png image.png
    1. 基本数据类型
    image.png image.png image.png image.png image.png image.png
    1. 基本数据类型变量间转换
    image.png image.png image.png image.png
    1. 基本数据类型与String转换
    image.png image.png image.png
    1. 进制与进制之间的转换
    image.png image.png

    二进制转十进制

    如:11000101,1*20+0+1*22+0+0+0+1*2^6=1+4+64=69

    image.png

    求10111011的十进制:

    ---->计算机底层都以补码方式存储,所以10111011是补码。最左边是负号位,表示位一个负数。

    ---->补码-1,反码10111010

    ---->除符号位,取反,原码 11000101

    ---->转为10进制 ,1*20+0+1*22+0+0+0+1*2^6=1+4+64=69

    ---->加上负号,-69

    image.png

    为什么128强转为byte时,结果为-128?

    int 128 ----> 0000 0000 0000 0000 0000 0000 1000 0000

    强制转化为byte型 ----> 去掉签名的 24位 ,结果为1000 0000 ,即-128

    十进制转二进制

    采用除2取余的逆,如:13 。

    image.png image.png

    二进制转八进制/十六进制

    image.png

    十六/八进制转二进制

    image.png

    函数转

    image.png

    运算符

    image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

    1.False x=2,ture y=2

    2.False x=2,y=1

    3.ture x=2,false y=2—>x=7

    4.ture x=2,y=1 —>x=7

    image.png image.png image.png image.png image.png image.png image.png image.png image.png

    程序流程控制

    分支结构
    • if-else
    image.png image.png image.png image.png image.png image.png
    • swith-case
    image.png image.png

    根据制定月份输出季节:(case条件一类时可以这么输出)

    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            int month = scan.nextInt();
            switch (month){
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            }
    
        }
    
    
    }
    
    image.png
    循环结构
    image.png image.png
    • for循环
    image.png image.png
    public static void main(String[] args) {
    
            for(int i=1;i <=150;i++){
                System.out.print(i+" ");
                if(i%3==0){
                    System.out.print("foo ");
                }
                if(i%5==0){
                    System.out.print("biz ");
                }
                if(i%7==0){
                    System.out.print("baz ");
                }
                System.out.println();
    
            }
        }
    
    image.png
    public static void main(String[] args) {
    
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入两个正整数");
            int positiveIntOne = scan.nextInt();
            int positiveIntTwo = scan.nextInt();
            int min = (positiveIntOne<=positiveIntTwo)? positiveIntTwo:positiveIntOne;
    //      定义最大公约数
            int greatestCommonDivision = 0;
            for(int i=1;i<=min;i++){
                if(positiveIntOne%i==0&&positiveIntTwo%i==0){
                    greatestCommonDivision = i;
                }
            }
    //      定义最小公倍数
            int leastCommonMultiple = 0;
            for(int i=1;i<=positiveIntOne*positiveIntTwo;i++){
                if(i%positiveIntOne==0&&i%positiveIntTwo==0){
                    leastCommonMultiple = i;
                    break;
                }
            }
            System.out.println("最大公约数:"+greatestCommonDivision);
            System.out.println("最小公约数:"+leastCommonMultiple);
        }
    
    • while循环
    image.png image.png
    • do while循环
    image.png image.png
    public static void main(String[] args) {
    
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入整数,输入0表示输入结束");
            int positive_count=0;
            int negative_count=0;
            while (true){
                int num = scan.nextInt();
                if (num>0){
                    System.out.println("这是一个正数");
                    positive_count++;
                }
                if (num<0){
                    System.out.println("这是一个负数");
                    negative_count++;
                }
                if (num==0){
                    System.out.println("程序结束");
                    break;
                }
    
            }
            System.out.println("正数有:"+positive_count+"个,负数有:"+negative_count+"个");
    
    

    for(;;) 表示一直循环。相当于while (true).

    • 嵌套循环
    image.png

    99乘法表

    public static void main(String[] args) {
    
    
            for(int i=1;i<=9;i++){//控制行数
                for(int j=1;j<=i;j++){//控制列数
                    System.out.print(i+"*"+j+"="+i*j+"\t");
    
                }
                System.out.println();
    
    
            }
    

    100以内的所有质数

    public static void main(String[] args) {
    
            Boolean isFlag =true;//标识i是否被j除尽,除尽就修改其值
    
            for(int i=2;i<=100;i++){//遍历100以内的数
                for (int j=2;j<=i-1;j++){ //i%j
                    if (i%j==0){
                        isFlag = false;
                    }
                }
                    if(isFlag==true){
                        System.out.print(i+" ");
                    }
                //内循环结束重置isFlag
                isFlag=true;
    
            }
    }
    

    质数代码优化

    image.png
    • break continue
    image.png

    带标识的break continue

    public static void main(String[] args) {
    
            label:for (int i=1;i<=4;i++){
                for (int j=1;j<=10;j++){
                    if (j%4==0){
    //                  break;  //默认跳出当前循环,即内层循环
    //                  continue;  //默认跳出当前循环的本次循环,即内层循环的本次循环
    //                  break label; //跳出指定标识label的一层循环
                        continue label; //跳出指定标识label的一层循环的当次循环
                    }
                    System.out.print(j);
                }
                System.out.println();
            }
    }
    
    image.png

    质数代码优化-二


    image.png

    相关文章

      网友评论

          本文标题:Java基础教程-运行机制、基本数据类型、流程控制

          本文链接:https://www.haomeiwen.com/subject/anfpkltx.html