【2019秋冬】《Java核心技术》 第3章 Java的基本程序设计结构

Java数据类型 8 个
四个整型:byte int long short
两个浮点型:float double
一个字符型:char
一个真值:boolen

Unicode与char
Unicode是一个编码机制,在UTF-16机制中,用不同长度的编码表示Unicode码点,用代码单元进行表示,char代表一个代码单元

Java中0 1 与 true false不互通

变量
声明一个变量后注意对其进行初始化,否则不能使用(C++中默认赋值)

常量
用final修饰,关键字final表示这个变量只能被赋值一次,不能再被更改

类常量
一个类中可以被多个方法调用的常量,用static final修饰,定义在main函数外部,如果加上public也可以被其他类使用

运算符
0除整数会报异常,0除浮点数得到无穷或NaN

math类
sqrt(),pow()
例如sqrt没有处理对象,是一种静态方法
在程序前加入 import static java.lang.Math.*
就可以直接调用函数,不需要每次都写Math

类型转换
整数转浮点数会有精度丢失
转换优先级:double>float>long>int

强制类型转换

double x = 9.99;
int nx = (int)x;

浮点数四舍五入Math.round()仍需使用强制转换,因为round返回的是long类型,不是int

int nx = (int)Math.round(x);

++n,整体先加1
n++,整体不变

字符串
Java中字符串是不可变的,在编译器中默认共享,字符串变量只是引用其地址,类似指针

检查两个字符串是否相等s.equla(t)
Java中不可以用==判断字符串,C++中对 = =进行了重载,但在Java中= =还是用来比较地址

构建字符串 StringBuilder StringBuffer
StringBuilder 用法

StringBuilder builder = new StringBuilder();
builder.append(aa);
builder.append(bb);
String fin = builder.tostring();

StringBuffer是StringBuilder的前身
StringBuffer效率低,但允许采用多线程方法执行字符操作,属于线程安全,适用于多线程。StringBuilder效率高,但线程不安全,适用于单线程。

string为什么是不可变的?
因为string用final修饰,所以是不可变的,属于线程安全。
StringBuilder和StringBuffer继承于AbstractStringBuilder,并没有用final修饰,所以是可变的

输入
构造一个scanner对象,与标准输入流System.in关联

import java.util.*;
Scanner in = new Scanner(System.in);
String name = in.next();

for each 循环

int[] a = new int[100];
for(int x:a){
	System.out.print(x);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值