• [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运行超时的问题]

  • 相关阅读:
    菜鸟理解int为啥是4个字节
    python np.dot()、np.multiply()、np.matmul()、@、*的用法与区别
    多线程设计模式【多线程上下文设计模式、Guarded Suspension 设计模式、 Latch 设计模式】(二)-全面详解(学习总结---从入门到深化)
    Linux网络编程- ether_header & iphdr & tcphdr
    谷粒学苑 —— 7、课程管理:课程发布页面2 —— 课程大纲
    实现抖音视频滑动功能vue3+swiper
    3DMAX平铺插件MaxTiles教程
    【一】Mac 本地部署大模型
    【Apache Doris】审计日志插件 | 快速体验
    普通学校,普通背景,普通公司,不普通总结。
  • 原文地址:https://blog.csdn.net/GzmObject/article/details/125531930