1.Java的基本数据类型和程序控制流程语句

java基本数据类型
/**
 *
 */
public class MyVari {
    public static void main(String[] args) {
        //java的变量及运算符
        //数值型:整数型与浮点型
        //整数型
        short age = 19;//2字节,短整型
        int sid = 3123443;//4字节,整型
        long id = 410234124341234L;//8字节,长整型
        float salary = 25550.87f;//存以科学计数法表示,4字节
        //双精度浮点型,小数点后d标识,可以省略,8字节
        double gdp = 893421324.45d;
        //字符型byte,1字节,一般用于数组中
        //[-128——127]
        byte temp = 126;
        //字符型char,表示单个字节,2字节
        char ch1 = 'g';
        char ch2 = 65;//方式2:ASCII码
        char ch3 = '\u7f57';//方式3:无符号16进制汉字编码
        //布尔型,ture/false
        boolean falg = false;//4字节
        //数组中每个元素占1字节
        boolean[] fs = {true, false, true, false};

//        java的引用数据类型
        //字符串变量
        String name = "李梅丽";
//        java中的运算符
        //算数,关系,逻辑,赋值,位运算符
        //算数运算符,+,-,*,/,%(取余/模)
        int x = 20,y = 30,z = 110;
        int m = x+y*z-100/23;
        //两个整数相除结果为整数
        int n = z/y;
        //%取余为10
        int k = y%x;
        //小数对大数取余,结果为他本身;10%25=10;
        //关系运算符>,>=,<,<=,==,!=,结果为布尔型、
        //逻辑运算符,逻辑与&&,逻辑或||,逻辑非!,用于连接关系表达式或直接连接布尔值,结果是布尔型
        //位运算,将数据转换成二进制进行运算,按位与&,按位或|,按位异或^,按位左移<<,按位右移>>
          //进行单字节数据计算,为了提高性能时使用
        int a1 = 13;
        int b1 = 11;
        //按位与&,是双目运算符
        int c1 = a1 & b1;//结果:0000 1001;
        //按位或|
        int c2 = a1 | b1;
        //按位异或^
        int c3 = a1 ^ b1;
        //按位左移<<,单目运算符
        int c4 = 8 << 3;
        //按位右移>>
        int c5 = b1 >> 3;

        //赋值运算:=,+=,-=,*=,/=,%=,++,--,三目运算符
        //三目运算符,结果200
        int t = a1 < b1 ? 100 : 200;
        //结果:我挺好
        String info = (89 > 12) && (100 < 90) ? "你好吗" : "我挺好";
        //常量的声明与定义
        final float PI = 3.14f;
        //PI不能再赋值
    }
}

说明:表达式结果的类型由表达式中最高类型决定

赋值运算符隐含强制类型转换eg:

 byte b = 10;
        b += 8;// b = (byte)(b + 8);
        System.out.println(b);

        byte a1 = 1;
        a1 += 'a';
        System.out.println(a1);
/*
强制类型转换
    取值大范围的变量(数据)赋值给取值小范围的变量
    byte short int long float double
          char

    目标数据类型 变量名= = (目标数据类型)数据;


    总结:
        1、箭头方向指向的可以自动转换,否则都必须强制转换
        2、byte、short和char在进行运算的时候,一律变成int类型
        3、基本类型的转换,发生在8种中的7种,其中布尔类型的不参与转换

 */
public class TypeDemo3 {
    public static void main(String[] args) {

        long v1 = 100;
        // v1(long) -> v2(short)
        short v2 = (short) v1;

        byte v3 = 8;
        char v4 = (char)v3;

        char v5 = 66;
        byte v6 = (byte)v5;
    }
}

二,Java的程序控制流程语句

程序流程控制:指的是程序执行过程中的功能走向,就是代码的指向。

程序流程控制语句:顺序语句(默认的),选择语句(分支语句),循环语句

选择语句:if , switch
循环语句:for,while,do…while

说明:(1)for与while循环都能互换

(2)for一般用于已知循环次数,while一般用于一只循环条件,不知道循环次数

/**
 * @Java的流程控制语句
 */
public class Mysentence {
    public static void main(String[] args) {
        //1.分支语名:if,一般有三种格式
        int face = 98;
        //单分支
        if (face > 95) {//条件为真才执行
            System.out.println("帅");
        }
        //双分支
        if (face > 90) {
            System.out.println("很美");
        } else {
            System.out.println("美");
        }
        //多分支
        int scoer = 85;
        if (scoer >= 90) {
            System.out.println("优秀");
        } else if (scoer >= 80 && scoer < 90) {
            System.out.println("良");
        } else if (scoer >= 60 && scoer < 80) {
            System.out.println("合格");
        } else {
            System.out.println("不合格");
        }
        //分支语句switch,主要用于代替序列数据进行判断的多分支if语句
        //例如:星期的数字表示:1-6;星期一——星期六,0:星期天
        int week = 3;
        //变量或表达式
        switch (week) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 0:
                System.out.println("星期天");
                break;
            default://不符合以上任何条件
                break;
        }

//        2.循环语句:根据范围或条件决定是否重复执行某个代码块。
        //for,while,do...while
        //参数(初始化;循环结束的条件:步长)
        for (int i = 1; i < 20; i++) {
            System.out.println(i);
        }
        //求50-100之间的所有素数
        //设置一个用于判断的变量
for (int i = 50 ;i <= 100; i++){
            boolean flag = true;
           for (int j = 2; j < i; j++){
               if (i % j == 0){
                   flag = false;
                   break;
               }
          }
          if (flag){
               System.out.println("质数:"+ i);
          }
        }
        //while循环:实现奇数的输出100-200之间
//       int i = 100;
//        while (i <= 200){
//            if (i%2 != 0){
//                System.out.println(i+ "是奇数");
//            }
//            ++i;
//        }
        //找50-100之间的质数
        int ii = 50;

        while (ii <= 100) {
            boolean flag = true;
            int jj = 2;
            while (jj <= 50) {
                jj++;
                if (ii % jj == 0) {
                    flag = false;
                    break;
                }

            }
            if (flag) {
                System.out.print(ii + ",");
            }
            ++ii;
        }
    }
}

四,JVM的内存模型

JVM的内存模型:Java虚拟机的内存分配情况

在这里插入图片描述

Java源程序:Java,经过javac编译生成的.class字节码文件,通过java启动JVM运行,执行数据时数据在内存中进行处理

java中循环体 标记的用法
break 的作用

循环结构中使用break,直接结束当前循环体,跳出当前循环。

用于switch或者是循环语句中。

单用break 只跳出当前循环,如果使用标记,可以跳出其他外层循环。

// break 会跳出标记label所在的外层循环
// 循环A
label:for (int i = 1; i <=3; i++) {
    // 循环B
    for (int j = 1; j <=3 ; j++) {
        if(j == 3){
            break label;
        }
        System.out.println("b "+j);
    }
    System.out.println("a "+i);
}

label:标志 , 放在要结束的循环语句前。(可以改成其他标识符,也就是名字)

continue 的作用

其作用为结束本次循环,即跳出循环体中下面尚未执行的语句,进入下一次循环。

// 两个循环嵌套时,可以跳出continue所在循环体,以及跳出标记循环体
label:for (int i = 0; i <=3; i++) {
    for (int j = 0; j <=3 ; j++) {
        if(i == 2 && i == j){
            continue label;
        }
        System.out.println(i + " - " +j);
    }
    System.out.println("end = " + i);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值