zoukankan      html  css  js  c++  java
  • 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);
        }
    
    }
    
    
  • 相关阅读:
    121. Best Time to Buy and Sell Stock
    70. Climbing Stairs
    647. Palindromic Substrings
    609. Find Duplicate File in System
    583. Delete Operation for Two Strings
    556 Next Greater Element III
    553. Optimal Division
    539. Minimum Time Difference
    537. Complex Number Multiplication
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/Alpacapyer/p/13973487.html
Copyright © 2011-2022 走看看