ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java语法基础(一)

2022-09-15 13:02:53  阅读:277  来源: 互联网

标签:java String 基础 System 语法 println public out


目录

一、首先我们编写一个java程序

经典Hello World!

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

二、语法基础

1变量

变量必须先定义才能使用,而且变量不能名字不能重复。

public class Main {
    public static void main(String[] args) {
        int a=1,b=2;
        System.out.println(a);
        System.out.println(b);
    }
}

image

2.常量

在java中我们的常量是用final修饰,可以类比c++中的const

final N = 1000;

3.类型转化

显示转化:int x = (int)'A';
隐式转化:double x = 12, y = 2 * 2.3;

4.运算符

大家参考C++中的运算符即可

5.表达式

整数的四则运算

public class Main {
    public static void main(String[] args) {
        int a = 12 + 14 / 7 -3;
        System.out.println(a);
    }
}

浮点数的运算

public class Main {
    public static void main(String[] args) {
        double a = 1.3, b = 2.6;
        System.out.println(a * b);
        System.out.println(b - a);
        System.out.println(a + b);
        System.out.println(b / a);
    }
}

变量的自增自减

public class Main {
    public static void main(String[] args) {
        int a = 1;
        int b = a ++;
        System.out.println(a + " " + b);

        int c = ++ a;
        System.out.println(a + " " + c);
    }
}

image
我们通过输出就可以观察到,a++是先把值a的值赋给b然后再进行自加,++a是先进行自加然后再把值赋给c

三、输入输出

1.输入

方式一:效率比较低,在读入规模较小的时候使用

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//创建一个对象
        String str = sc.next();//读入一个字符串
        int x = sc.nextInt();abc//读入一个整数
        float y = sc.nextFloat();//读入一个float类型的小数
        double z = sc.nextDouble();//读入一个double类型的小数
        String line = sc.nextLine();//读入一行字符串
        System.out.println(str + " " + x + " " + y + " " + z + line);
    }
}

方式二:效率比较高,在读入规模较大的时候使用 需要抛异常

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);
    }
}

这种读入的方式只能读字符串,所以我们如果要读整形或者小数点的话我们就要手动的转换

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));
        int x = Integer.parseInt(br.readLine());
        int y = Integer.parseInt(br.readLine());
		double a = Double.parseDouble(br.readLine());
        System.out.println(x + y);
    }
}

但是呢,它一次只能读一行,所以我们读两个要分两行,那我们想要在一行内读入多个数据怎么办,那么这时就要进行分割一下

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().split(" ");
        int x = Integer.parseInt(str[0]);
        int y = Integer.parseInt(str[1]);
        System.out.println(x + y);
    }
}

2.输出

方式一:输出的效率低,在输出规模较小的时候使用

public class Main {
    public static void main(String[] args) {
        System.out.println(123);//加上换行
        System.out.println("Hello World!");
        System.out.print(123);//不加换行
        System.out.print("Hello World!\n");
        System.out.printf("%f %d\n",9.0, 12);//类似c语言的输出,输出小数统一用%f不用%lf
    }
}

方式二:输出的效率高,在输出的规模较大的时候使用 需要抛异常并且手动清理缓冲区

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(); //需要手动刷新缓冲区,不刷新缓冲区的话会得不到输出
    }
}

标签:java,String,基础,System,语法,println,public,out
来源: https://www.cnblogs.com/byAttention/p/16696152.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有