• java学习(2)


    java学习(2)

    helloworld

    class A{
        public static void main(String[] args) {
            System.out.println("helloworld");
        }
    }
    // 编译java  javac A.java 生成一个java.class的文件
    // 运行程序 java A 
    // helloworld
    

    关键字


    在java中关键字的字母全部都是小写

    变量

    常量

    在执行过程中,其值不会发生改变的量(数据)

    class A{
        public static void main(String[] args) {
            System.out.println("helloworld");
        }
    }
    

    比如在这段代码中,常量就是helloworld

    常量的分类

    • 字符串常量: 被双引号所包裹的内容
    • 整数常量: 所有整数
    • 小数常量 所有小数
    • 字符常量 被单引号包裹的内容,里面只能存放单个字符
    • 布尔常量 只有两个值,true 和false
    • 空常量 null 在java中 null空常量不能输出打印
    class A{
        public static void main(String[] args) {
            System.out.println("helloworld");
    
    
           // - 字符串常量: 被双引号所包裹的内容
           // - 整数常量: 所有整数
           // - 小数常量 所有小数
           // - 字符常量 被单引号包裹的内容,里面只能存放单个字符
           // - 布尔常量 只有两个值,true 和false
           // - 空常量 null 在java中 null空常量不能输出打印
            System.out.println("helloworld");
            System.out.println(32);
            System.out.println(32.1);
            System.out.println('c');
            System.out.println(true);
            System.out.println(null); // 报错
    //        A.java:17: 错误: 对println的引用不明确
    //        System.out.println(null);
    //                  ^
    //        PrintStream 中的方法 println(char[]) 和 PrintStream 中的方法 println(String) 都匹配
    //        1 个错误
    
        }
    }
    

    变量与数据类型

    变量就是内存中的存储空间,空间中存储着经常发生改变的量(数据)

    java中的变量定义格式 数据类型 变量名 = 数据值

    不同的数据类型占用不同的内存空间,因此他们所表示的数据大小也不一样

    • 整数
      整数有4种数据类型,内存所占用的字节数量也不同
      byte 占用 1字节
      short 占用 2字节
      int 占用 4字节 (默认)
      long 占用8字节

    • 浮点数
      float(单精度) 4字节
      double(双精度) 8字节 (默认)

    • 字符
      char 2字节

    • 布尔类型
      bool 1字节

    基本数据类型与引用数据类型

    变量的定义和使用

    基本数据类型的存储方式

    变量使用的注意事项

    • 变量名不允许重复定义
    • 一条语句可以定义多个变量,但需要使用逗号分隔
      int a = 10, b = 30, c= 203
    • 变量在使用之前一定要赋值
    • 定义float和long变量的注意事项
      float a=12.3F long a = 20202002020L
    • 变量的作用域范围

    计算机存储单元

    计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫"位(bit)",我们又叫做比特,通常用b小时,而计算机中最小的存储单元是字节(byte) 用B表示,有8个位组成

    常用的存储单位及转换

    1B(字节)  = 8bit
    1KB = 1024B
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB
    1PB = 1024TB
    

    键盘录入

    linux中有stdin,python中有input shell中有read,为了方便测试或者其他需要读取屏幕前用户数据的程序。
    需要使用键盘录入的形式,在java中主要使用Scan来进行录入

    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int i = sc.nextInt();
            System.out.println(i);
        }
    }
    

    类型转换

    • 隐式转换
      将数据类型中,取值范围小的数据,给取值范围大的类型赋值,会做数据类型转换,比如
    int a = 10;
    double b  = a ;
    system.out.print(b) // 10.0
    

    • 强制转换
      将取值范围大的类型赋值给取值范围小的数据类型
    double b = 10.0
    int a = (int)b
    print(a) // 10
    

    强制类型转换,转换不是四舍五入进行转换的,而是直接截断小数点后面的内容,所以会发生精度的损伤严重

    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int i = (int)sc.nextDouble();
            System.out.println(i);
    //        1.0
    //        1
    
    //        1.1
    //        1
    
    //        1.5
    //        1
    
        }
    }
    
    

    计算符计算

    主要是一个地板除/和一个取余除%

    public class DemoScanner {
        public static void main(String[] args) {
            int d = 10;
            int b = 3;
            // 地板除 保留整数
            int res = d / b ;
            // 取余除 保留余数
            float res2 = d % b;
            System.out.println(res); // 3
            System.out.println(res2); // 1
        }
    }
    
           // 数值拆分案例
            // 录入一个三位数,将他们拆为个位 十位 百位
    
            Scanner sc = new Scanner(System.in);
            int number = sc.nextInt();
    
            // 拆分
            int n1 = number % 10;
            int n1_extar = number / 10;
            int n2 = n1_extar % 10;
            int n3 = n1_extar / 10;
            System.out.printf("%d,%d,%d",n1,n2,n3);
        }
    

    自增自减操作符

    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            int a = 10;
            System.out.println(a++); // 10
            System.out.println(a++); // 11
    
            int b = 10;
            b--;
            System.out.println(b); // 9
    
            a = 10;
            int c = ++a; // 先自加后赋值
            int d = 10;
            int e = d++; // 先赋值后++
            System.out.println(c); // 10
            System.out.println(a); //11
            System.out.println(d); // 11
            System.out.println(e); // 10
        }
    }
    
    

    三元运算符

    格式 关系表达式? 表达式1:表达式2;
    如果值为true 则返回表达式1
    如果值为false 则返回表达式2

    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int max = a > b ? a:b;
            System.out.println(max);
            System.out.println(a>b?a:b);
        }
    }
    
    
    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            // 案例 求最高身材
            int a = 120 , b = 130 , c = 150;
            // 取最大值
            int max = a>b?a:b;
            int max2 = max>c?max:c;
            System.out.println(max2); // 150
        }
    
    }
    
    

    流程控制

    顺序执行结构

    public class DemoScanner {
        public static void main(String[] args) {
            System.out.println(2); // 2
            System.out.println(2); // 2
            System.out.println(2); // 2
            System.out.println(2); // 2
            System.out.println(2); // 2
            System.out.println(2); // 2
        }
    }
    

    if语句

    package hzj;
    
    import java.util.Scanner;
    
    public class DemoScanner {
        public static void main(String[] args) {
            // 形式1
            boolean flag = true;
            if (flag == true){
                System.out.println("true");
            } else {
                System.out.println("false");
            }
    
            // 形式2
            if (flag == true ) System.out.println("true");
        }
    
    }
    

    switch语句

    public class DemoScanner {
        public static void main(String[] args) {
            int a = 10;
            // 形式1
            switch (a){
                case 1:
                    System.out.println("1");
                case 2:
                    System.out.println("2");
                default:
                    System.out.println(a);
            }
        }
    }
    

    循环语句

    public class DemoScanner {
        public static void main(String[] args) {
            for (int i=0;i<20;i++){
                System.out.println(i);
            }
        }
    
    }
    

    Random生成随机数

    package hzj;
    
    import java.util.Random;
    
    public class DemoScanner {
        public static void main(String[] args) {
            Random r = new Random();
            int n = r.nextInt(10); // 0-9 不加的话会在整个int取值范围内做random
            System.out.println(n);
        }
    
    }
    
    
  • 相关阅读:
    webpack+babel+transform-runtime, IE下提示Promise未定义?
    《Create Your own PHP Framework》笔记
    Windows,Mac与Linux哪个更适合开发者?
    微信公众号开发——通过ffmpeg解决amr文件无法播放问题
    Paypal如何实现循环扣款(订阅)?
    软件随想——为什么你需要提高软件的技术水平?
    react-native-image-picker在IOS上总是返回”Can’t find variable:response”的错误?
    解决angular-deckgrid高度不均衡和重加载的问题
    Linux多台服务器间SSH免密码登录配置
    关于macOS Sierra无法使用gdb进行调试的解决方案
  • 原文地址:https://www.cnblogs.com/Alpacapyer/p/13973487.html
Copyright © 2020-2023  润新知