java基本语法

输入输出

  • 输入:

    //引入包 import java.util.Scanner;
    Scanner in = new Scanner(System.in);
    int n = in.nextInt();
    String s = in.next();
    

    判断输入到文件尾
    while(in.hasNext()){}

  • 输出:

    • 字符串: System.out.println("hello world!");
    • 字符串+数值 System.out.println("a =" + 8);
    • 输出不回车 System.out.print("xxx");
    • 保留两位数字
      String ans = String.format("%.2f",num);
      System.out.println(ans);
      
import java.util.Scanner; //Scanner 是一个简单的文本扫描器

public class MyInput {
    public static void main(String[] Args) {
        Scanner myscanner = new Scanner(System.in);
        System.out.println("请输入姓名");
        String name = myscanner.next(); // 接受字符串
        
        System.out.println("请输入年龄");
        int age = myscanner.nextInt();
        
        System.out.println("姓名: " + name);
        System.out.println("年龄: " + age);

    }
}

数据类型

img

基本数据类型

  • int(4) long(8) byte(1)
  • float(4) double(8)
  • char(2) boolean(1)

引用型数据类型

  • 数组
  • 接口

注意事项

  1. bool 在java中是Boolean
  2. int n = 3;
    long n = 3L; //需要加L或l表明是长整型
  3. 判断两个运算的到的浮点数(float / doubel) 相等的时候,需要不要使用== ,而是作差小于某个范围
  4. 自动类型转换: float a = n + 1.1; //错误,因为1.1是double,int + double --> double
  5. byte、char、short 三种类型不能自动转换,但可以计算,得到的结果是int类型

数组

  • 初始化:
    • int a[] = {1,2,3};
    • int a[] = new int(3);
    • 排序 Arrays.sort(a)

字符串相关

java 的 char 对应 整数 是按照 Unicode 编码
C/C++的 char 对应 整数 是按照 ASCII 编码
Unicode:一个char对应两个字节 —— 可以表示 1- 2^16个不同的字符(每个字符编为一个对应的数字)
ASCII: 一个char对应一个字节 —— 可以表示 1- 2^8个不同的字符(每个字符编为一个对应的数字)

char a='张';

char b='\t';

基本数据类型 -> String 类型

int a = 10;
String s = a + "";

double b = 3.14156;
String s = b + "";

String 类型 -> 基本数据类型

String s = "123";
int a = Integer.parseInt(s);      //I大写
double b = Double.parseDouble(s); //D大写

String 类型取某部分字符s[0]

取String 字符串的第一个字符s.charAt(0);

String 相等判断

s.equals("MMMM")

运算符

  • 关于 % : a % b = a - (int)a / b * b
  • 关于负数:-5 / 2 = -2 //先不管符号,进行整除,最后计算符号
  • 关于i ++++ i:
    • i = i++; //规则使用临时变量: (1) temp=i;(2) i=i+1;(3)i=temp;
    • i = ++i; //规则使用临时变量: (1) i=i+1;(2) temp=i;(3)i=temp;
  • &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
  • & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低,不同于C语言中的按位与
  • a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则
运算符优先级

img

命名规则

img

分支选择结构

  • if-else
  • switch

循环结构

  • for
  • while

关于+号的使用

  1. 双方都是值的时候是值相加
  2. 有一方为字符串就是字符串
System.out.println(100 + 3);  //103
System.out.println(100 + 3 + "hello"); //103hello
System.out.println("hello" + 100 + 3); //hello1003

判断数组的长度和字符串的长度

字符串数组: String[] strs = sc.nextLine().split(" ");
数组的长度: strs.length
字符串的长度: str = strs[0]; str.length();

posted @ 2022-11-01 10:09  咿呀咿呀悠  阅读(31)  评论(0)    收藏  举报