Java学习(day2)

整数拓展

int i =10;
int i2 =010;//八进制0
int i3 =0x10;//十六进制0x

浮点数拓展

float f = 0.1f;   //0.1
double d = 1.0/10;//0.1

f != d 浮点数有舍入误差
最好不用浮点数进行比较

字符拓展

char c1 = 'a';  
char c2 = '中';  
System.out.println(c1);  
System.out.println((int) c1);//强制转换成数字  
System.out.println(c2);  
System.out.println((int) c2);//强制转换成数字


char c3 = '\u0097' //会输出a
编码Unicode表 0097 = a

布尔值拓展

boolean flag = true;
if(flag==true){}

强制类型转换

int i=128;
byte b=(byte)i;//这个会内存溢出,但是强制转换格式就这样
double c=(double)i;//这个没问题

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 转换的时候可能存在内存溢出或精度问题
  4. 把高容量转换为低容量的时候,强制转换

int money = 10_0000_0000//JDK新特性,数字之间可以用下划线分割

变量

int a=1,b=2,c=3;//建议不在一行定义多个变量,要增强程序可读性
String name = "aha";
char x = 'x';
double pi = 3.14
									面向对象👇

修饰符,不存在先后顺序
static final double PI=3.14;//static(指类变量) 和 final(指常量) 就是修饰符

变量命名规范

  1. 所有变量见名知意
  2. 类成员变量:首字母小写和驼峰原则
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:GoodMan
  6. 方法名:首字母小写和驼峰原则

运算符

  1. 算术运算符easy
  2. 赋值运算符easy
  3. 关系运算符easy
  4. 其他(不重要):逻辑运算符、位运算符、条件运算符、扩展赋值运算符

long不参加运算的话,结果都为int(结果按优先级较高的类型算)

a++和++a运算时机不一样
c=a++;//相当于c=a;a=a+1;
b=++a;//相当于a=a+1;b=a;

逻辑运算符

boolean a = true;
boolean b = false;
//a&&b为false,a||b为true,!(a&&b)为true

位运算符

A=0011 1100
B=0000 1101

A&B 0000 1100
A|B 0011 1101
A^B 0011 0001
~B  1111 0010

扩展逻辑运算符

a+=b;//相当于a=a+b

字符串连接符

字符串+其他,输出会是一个字符串

三元运算符

x ? y : z//x为真则输出y,假则输出z

包机制

包的本质是文件夹
import com.hao.www.*//把com.hao.www包内所有东西导进来

Java创建文档

妹学会
学会了


按enter进入命令行窗口


Doc文件就生成好了


用户交互Scanner

  1. 顺序结构
  2. 选择结构
  3. 循环结构
  4. break & continue

使用next方式

貌似只能接收空格前的

使用nextline方式

能全显示

Scanner对象

  1. next()
    1. 要读取有效字符后才可以结束输入
    2. 有效字符前的空白会自动省略
    3. 输入有效字符后的空白作为分隔符或结束符
    4. 不能输出空格
  2. nextline()
    1. 回车作为结束符
    2. 可以输出空格
posted @ 2024-01-30 19:58  BJliberty  阅读(2)  评论(0编辑  收藏  举报