• [Acwing-SpringBoot] Java语法基础入门


    前言

    声明 : 该篇博客大多内容来自 y总的 讲义

    写这篇博客为了更好的从 C + + C++ C++转向为 J a v a Java Java

    首先对于刚从 C + + C++ C++转到 J a v a Java Java的选手

    我们需要知道的是需要提交的代码格式一般有两类

    1. C++
      import java.util.* //这里相当于头文件
      
      public class Main {//这里是是大的总体类
          public static void main(String[] args) {//这里是主方法
      	}
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    2. Leetcode类型
      class Solution {
          public void deleteNode(ListNode node) {//这种类型一般是编写特定的函数,不处理输入输出
      
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5

    1.变量、运算符、输入与输出

    1.1变量

    .变量的类型

    类型字节距离
    byte1123
    short212345
    int4123456789
    long81234567891011L(定义+L)
    float41.2F(定义+F)
    double81.2
    boolean1true,false
    char2‘A’

    这里的为什么没有提及String,因为在Java中,String被封装成了一个类

    除了定义的时候,需要注意Long/float之外其他与C++无异

    1.2 运算符

    运算符这里基本都和C++吻合

    只是C++可以省略的地方,Java一般不能省略,还有就是1不能代替为true

    下面是几个错误示范 :

    	if(n&1)//×
    	if((n&1) !=0) //√
        if(n%2)//×
        while(1)//× 
        ....
    
    • 1
    • 2
    • 3
    • 4
    • 5

    当然这种错误IDEA都会有亲切的提示

    1.3 输入输出

    .普通的输入输出
    即使用Scanner

    //输入
    Scanner sc = new Scanner(System.in);
    String str = sc.next();  // 读入下一个字符串
    int x = sc.nextInt();  // 读入下一个整数
    float y = sc.nextFloat();  // 读入下一个单精度浮点数
    double z = sc.nextDouble();  // 读入下一个双精度浮点数
    String line = sc.nextLine();  // 读入下一行
    
    //输出
    System.out.println(123);  // 输出整数 + 换行
    System.out.println("Hello World");  // 输出字符串 + 换行
    System.out.print(123);  // 输出整数
    System.out.print("yxc\n");  // 输出字符串
    System.out.printf("%04d %.2f\n", 4, 123.456D);  // 格式化输出,float与double都用%f输出
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    .优化的输入输出

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String str = br.readLine();
            System.out.println(str);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    import java.io.BufferedWriter;
    import java.io.OutputStreamWriter;
    
    public class Main {
        public static void main(String[] args) throws Exception {
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            bw.write("Hello World\n");
            bw.flush();  // 需要手动刷新缓冲区
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    1 0 7 10^7 107的输入输出范围的时候, S c a n n e r Scanner Scanner的效率会比优化后的低个 10 ∣ 20 10|20 1020

    [关于 使用BufferReader 的细节]
    [Java在OJ运行超时的问题]

  • 相关阅读:
    vue3 elementplus 多语言 i18n
    计算机网络笔记5 传输层
    WordPress网站迁移实战经验
    详细介绍Unlink的原理及分析
    代理IP与Socks5代理在技术世界的多元应用
    使用 WebGL 创建 3D 对象
    远程电脑未连接显示器时分辨率太小的问题处理
    外包干了三年,我承认我确实废了……
    [笔记]JavaScript 实现按钮拖拽效果
    宝塔Python3.7安装模块报错ModuleNotFoundError: No module named ‘Crypto‘解决办法
  • 原文地址:https://blog.csdn.net/GzmObject/article/details/125531930