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

一、Java语言概述

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

  1. java语言的特点
Java基础教程-运行机制、基本数据类型、流程控制_第1张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第2张图片
image.png

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

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

Java基础教程-运行机制、基本数据类型、流程控制_第3张图片
image.png
  1. java核心机制
Java基础教程-运行机制、基本数据类型、流程控制_第4张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第5张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第6张图片
image.png

java环境搭建

Java基础教程-运行机制、基本数据类型、流程控制_第7张图片
image.png

公司中一般不超过8。

Java基础教程-运行机制、基本数据类型、流程控制_第8张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第9张图片
image.png

JDK 、JVM、JRE的关系

Java基础教程-运行机制、基本数据类型、流程控制_第10张图片
image.png

官方版

Java基础教程-运行机制、基本数据类型、流程控制_第11张图片
image.png
  1. 下载安装
Java基础教程-运行机制、基本数据类型、流程控制_第12张图片
image.png
  1. 配置环境变量
Java基础教程-运行机制、基本数据类型、流程控制_第13张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第14张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第15张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第16张图片
image.png

开发初体验

Java基础教程-运行机制、基本数据类型、流程控制_第17张图片
image.png
class HelloChina {
   public static void main(String[] args) {
    System.out.println("hello world");
   }
}

注释

Java基础教程-运行机制、基本数据类型、流程控制_第18张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第19张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第20张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第21张图片
image.png

API文档

Java基础教程-运行机制、基本数据类型、流程控制_第22张图片
image.png

java8 API文档

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

Java基础教程-运行机制、基本数据类型、流程控制_第23张图片
image.png

第一个编程总结

Java基础教程-运行机制、基本数据类型、流程控制_第24张图片
image.png

良好的编程风格

Java基础教程-运行机制、基本数据类型、流程控制_第25张图片
image.png

java常用集成开发环境

Java基础教程-运行机制、基本数据类型、流程控制_第26张图片
image.png

二、Java基本语法

关键字和保留字

Java基础教程-运行机制、基本数据类型、流程控制_第27张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第28张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第29张图片
image.png

标识符

Java基础教程-运行机制、基本数据类型、流程控制_第30张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第31张图片
image.png

变量

Java基础教程-运行机制、基本数据类型、流程控制_第32张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第33张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第34张图片
image.png
  1. 基本数据类型
Java基础教程-运行机制、基本数据类型、流程控制_第35张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第36张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第37张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第38张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第39张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第40张图片
image.png
  1. 基本数据类型变量间转换
Java基础教程-运行机制、基本数据类型、流程控制_第41张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第42张图片
image.png
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第43张图片
image.png
  1. 基本数据类型与String转换
Java基础教程-运行机制、基本数据类型、流程控制_第44张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第45张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第46张图片
image.png
  1. 进制与进制之间的转换
Java基础教程-运行机制、基本数据类型、流程控制_第47张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第48张图片
image.png

二进制转十进制

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

Java基础教程-运行机制、基本数据类型、流程控制_第49张图片
image.png

求10111011的十进制:

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

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

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

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

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

Java基础教程-运行机制、基本数据类型、流程控制_第50张图片
image.png

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

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

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

十进制转二进制

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

Java基础教程-运行机制、基本数据类型、流程控制_第51张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第52张图片
image.png

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

Java基础教程-运行机制、基本数据类型、流程控制_第53张图片
image.png

十六/八进制转二进制

Java基础教程-运行机制、基本数据类型、流程控制_第54张图片
image.png

函数转

Java基础教程-运行机制、基本数据类型、流程控制_第55张图片
image.png

运算符

Java基础教程-运行机制、基本数据类型、流程控制_第56张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第57张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第58张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第59张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第60张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第61张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第62张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第63张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第64张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第65张图片
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

Java基础教程-运行机制、基本数据类型、流程控制_第66张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第67张图片
image.png
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第68张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第69张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第70张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第71张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第72张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第73张图片
image.png

程序流程控制

分支结构
  • if-else
Java基础教程-运行机制、基本数据类型、流程控制_第74张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第75张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第76张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第77张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第78张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第79张图片
image.png
  • swith-case
Java基础教程-运行机制、基本数据类型、流程控制_第80张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第81张图片
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
循环结构
Java基础教程-运行机制、基本数据类型、流程控制_第82张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第83张图片
image.png
  • for循环
Java基础教程-运行机制、基本数据类型、流程控制_第84张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第85张图片
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();

        }
    }
Java基础教程-运行机制、基本数据类型、流程控制_第86张图片
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循环
Java基础教程-运行机制、基本数据类型、流程控制_第87张图片
image.png
Java基础教程-运行机制、基本数据类型、流程控制_第88张图片
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).

  • 嵌套循环
Java基础教程-运行机制、基本数据类型、流程控制_第89张图片
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;

        }
}

质数代码优化

Java基础教程-运行机制、基本数据类型、流程控制_第90张图片
image.png
  • break continue
Java基础教程-运行机制、基本数据类型、流程控制_第91张图片
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();
        }
}
Java基础教程-运行机制、基本数据类型、流程控制_第92张图片
image.png

质数代码优化-二


Java基础教程-运行机制、基本数据类型、流程控制_第93张图片
image.png

你可能感兴趣的:(Java基础教程-运行机制、基本数据类型、流程控制)