07-12

一、数据拓展

整数拓展

二进制:0 b开头

八进制:0开头

十六进制:0 x开头

浮点数扩展

public class helloword {
    public static void main(String[] args) {
        float a=0.1f;
        double b=0.1;
        System.out.println(a==b);//false
        System.out.println(a);//0.1
        System.out.println(b);//0.1

    }
}

float 有限 离散 舍去误差 大约接近但不等于;因此要精确计算时,要使用BigDecimal 类。

最好完全使用浮点数进行比较。

字符

可以用强制转换,查出字符的Unicode编码

ASCII编码是1个字节,而Unicode编码通常是2个字节。 字母A用ASCII编码是十进制的65,二进制的01000001;而在Unicode中,只需要在前面补0,即为:00000000 01000001。

转义字符

\t 制表符

\n 换行

二、类型转换

byte(char)—short—int—long—float—double

强制转换:(类型)变量名 高——>低

自动转换:低到高,代码如下

int a=28;
double b=a;

注意:把高容量转到低容量时,强制转换;转换时可能存在内存溢出,或者精度问题。如舍去小数位。

JDK7新特性,数字之间可以用下划线分割

三、变量

  • **类变量:**使用static关键词定义,可不实例化对象,直接使用。
  • **实例变量:**从属于对象,如果不自行初始化,会有默认值,如返回0 0.0 false等。除了基本数据类型,其余的默认值都是null。
  • **局部变量:**只在{ }内有效果,且必须声明和初始化值

四、常量

使用关键词final定义,一旦初始化之后不能改变。finalstatic都是修饰符,使用时不分先后。

五、变量命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写何驼峰原则:monthSalary

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则

bold:adj:勇敢的,冒失的,粗体的

六、运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZasIBZoF-1626096555274)(C:\Users\77647\AppData\Roaming\Typora\typora-user-images\image-20210712114918886.png)]

  • instance of
  • 逻辑运算符:&&,||,!

ctrl+D 复制当前行到下一行

int b=a++//执行这段代码后,a再自增
int c=++a//执行这段代码前,先自增
  • java无幂运算,只能导入Math中的Math.pow()函数来进行运算

power:乘方

  • 短路运算:a&&b,如果a为false,则直接输出结果,不执行b!!!

七、三元运算符及小结

  • a+=b等价于a=a+b

  • 字符串连接符:“+”

  • x ?y:z 如果x成立,那么结果为y,否则结果为z

八、包机制

发现输入com.baidu时并不会分级建立包,最终在csdn上得到了解决。[解决方法链接在这]((1条消息) 解决idea创建文件时,文件不分级展示的问题_wang_yaqin的博客-CSDN博客)

  • 一般利用公司域名倒置作为包名,如com.baidu.com
  • 在IDEA中输入错误时,按alt+enter会出现修改提示

导入包必须在package***的下面

  • import package1.package2.classname( .* 为通配符,意为导入该包中的所有类)
  • 推荐《阿里巴巴java开发手册》

九、JavaDoc生成文档

  • 使用 /** 文字 */ 生成文档

十、用户交互Scannner

package com.baidu;

import java.util.Scanner;

public class Demo1 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);//创建一个监听系统输入的扫描器对象,用于接受键盘数据
        System.out.println("请输入数据");//提示用户输入数据
        if(scanner.hasNextLine()){//判断扫描器是否扫描到数据输入
            String str= scanner.nextLine();//将扫描到的数据赋给变量str
            System.out.println("您输入的数据为:"+str);
        scanner.close(); //关闭输入扫描器    
        }

    }
}

10.1 next() ——>hasNext()

  1. 一定读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇得的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才能将其后面的空白作为分隔符或者结束符。
  4. next()方法不能得到带有空白的字符串。

10.2 nextLine() ——>hasNextLine()

  1. 以enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。

10.3 Scanner进阶使用

scanner.hasNextInt();//判断扫描到的数据,是否是整数,返回true或者false
scanner.nextInt();//表示扫描器扫描到的整数

package com.baidu;

import java.util.Scanner;
/*我们可以输入多个数字,并求其总和与平均数,每输入一个数字回车确认,通过输入非数字来结束输入并输出执行结果*/
public class Demo2 {
    public static void main(String[] args) {
        double sum=0.0;
        int n=0;
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNextDouble()){
            double x=scanner.nextDouble();
            sum=sum+x;
            n++;
        }
        System.out.println("您输入的数据总和为:"+sum+",平均数为:"+(sum/n));

        scanner.close();

    }
}

结果为:

10
20
30
100
x
您输入的数据总和为:160.0,平均数为:40.0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值