2021.7.26Java基本语法

类名:以字母开头,后面可以是字母与数字的任意组合。

命名规范:以大写字母开头,名字由多个单词组成,每个单词第一个字母都大写

Main方法必须是public,Java每个应用程序必须有一个main方法

8种基本数据类型:

整型:byte(1)、short(2)、int(4)、long(8字节)

byte、short用于底层文件处理,存储空间宝贵的大数组

长整型数值后加一个后缀L或l(如400000000L);十六进制加前缀0X或0x(如0xCAFE);八进制加前缀0(如010对应十进制8);二进制加前缀0b或0B(如0b1001对应十进制的9)。

浮点类型:float(4)、double(8字节) 表示有小数部分的数值,默认double类型,float类型加后缀F或f

NaN:不是一个数字   0/0、负数的平方根结果都是NaN

char类型:字面量值用单引号’ ’括起来      转义字符:\n换行,\r回车

boolean类型:true、false

变量:以字母开头,变量先声明再初始化,未初始化的变量不可以使用

常量:final int X = 10 一旦赋值不能更改,一般常量名全大写。类常量定义在mian方法的外部,同一个类中其他方法可以使用这个常量。常量为public,则其他类中的方法可以使用这个常量。

枚举类型:自定义类型。

数据类型转换:实线表示无信息丢失的转换、虚线表示可能有精度损失的转换。

自动类型转换:两个数中有一个double,另一个数自动转换为double;有一个是float,自动转换为float;有一个是long,自动转换为long;否则,两个都被转为int

强制类型转换:int nx = (int)x

自增、自减:在表达式中,++n:原来的n先加一,再用加1之后的n计算;n++:用原来的n先计算,后加一。  n = 7   a = 2 * ++n = 16 n = 8    a = 2 * n++ = 14 n = 8

运算符优先级:

字符串:String

substring提取子串:String m = “hello”;  String s = m.substring(0,3);  //hel(包括0不包括3,长度为3)

字符串拼接用 + :一般用在输出语句中,当字符串与非字符串拼接时,非字符串自动转换为字符串

检测两个字符串是否相等:s.equals(t):判断s和t两个字符串是否相等,不能用==判断

如果不区分大小写:s.equalsIgnoreCase(t)

拼接和提取得到的字符串是不共享的,只有字符串字面量是共享的。

空串、null串:长度为0的字符串,是一个java对象;String变量可以存一个特殊值,名为null,表示没有任何对象与该变量关联。检查是否为null:if(str == null),检查一个字符串既不是null也不是空串:if(str != null && str.length() != 0)  null值调用方法会报错。

String API(应用编程接口)

API:http://docs.oracle.com/javase/9/docs/api       Java api

字符串拼接会构建一个新的String对象,可以用StringBuilder类避免这个问题发生:

创建一个空的字符串构建器:StringBuilder builder = new StringBuilder();

需要添加内容时:builder.append(ch)//append a character  

builder.append(str)//append a string

构建完成后调用toString方法,得到一个String对象

控制台输入:

Scanner scanner = new Scanner(System.in);

        System.out.println("What's your name?");

//      读取一行

        String name = scanner.nextLine();

//      读取一个单词

//     String firstName = scanner.next();

//      读取一个整数

        System.out.println("How old are you?");

        int age = scanner.nextInt();

//      打印输出

        System.out.println("Hello, " + name + age);

Console???

格式化输出:System.out.printf(“%8.2f”,x);  x = 10000.0 / 3.0

            结果:共8个字符,包括一个前导的空格和7个字符(字符包括小数点),精度为小数点后2位     3333.33

            System.out.printf(“Hello,%s. Next year, you’ll be %d”,name,age)

            %s:用字符串替换,%f:用浮点数替换,%d:用十进制整数替换,%tc:时间

文件输入输出:

读取一个文件:

Scanner scanner = new Scanner(Path.of("myfile.txt"), StandardCharsets.UTF_8);

写入文件:

PrintWriter out = new PrintWriter(“myfile.txt”, StandardCharsets.UTF_8);

while (条件) { } 可能一次也不执行

do { } while(条件) 至少执行一次

for(int i = 1; i <= 10; i++) { } for循环  i如果要在循环体外使用,就要在循环体

外声明

for each循环(泛型循环):for(变量:集合) { }

switch(条件){case char/byte/short/int/String: .. break; .. default: .. break;}

退出循环语句:break

将控制转移到最内层循环的首部:continue语句

大数

数组:int[] a = new int[100]  100个整数的数组,数组长度不可变

      int[] b = {2,3,5,7,11,13}

数组拷贝:允许将一个数组变量拷贝到另一个数组变量,两个数组变量引用同一个数组

          将一个数组所有值拷贝到一个新数组中,使用Arrays类的Arrays.copyOf()

          可以增加数组的长度,如果是数值型,额外的元素被赋值为0,boolean被赋

值为false。

数组排序:Arrays.sort(数组名)

多维数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值