打卡Java学习
第一天
变量
int age;
double price;
变量初始化
int age=10;
或者
int age;
age=10;
常量
利用关键字final指示常量,关键字final表示这个变量只能被赋值一次。一旦被赋值之后就不能更改。习惯上常量名称使用全大写
final double PRICE=4.0;
类常量
Java中,经常希望某个常量在一个类中的多个方法中使用,通常将这些常量称为类常量。可以使用关键字static final设置一个类常量。
public static final double PRICE=1.8;
数学函数
计算平方根
double x=4;
double y=Math.sqrt(x); //y=2.0
幂运算
double x=2;
double y=Math.pow(x,2); //y=4.0;将y的值设置为x的2次幂
double x=9.7;
int y=(int)Math.round(x); //x=10
数值类型之间的转换
int、long转float可能有精度损失
long转double也可能有精度的损失
强制类型转换
double x=9.97;
int y=(int)x; //y=9 强制类型转换通过截断小数点部分将浮点值转换为整型
运算符
自增、自减运算符
int m=7;
int n=7;
int a=++m; //a=8,m=8
int b=n++; //b=7,n=8
&、||运算符
&& 和||是按照“短路”方式来求值的:如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。
三元操作符?:
x<y?x:y; //如果x小于y,返回x。如果x不小于y,返回y
字符串(String是一个类对象)
提取字串
String hi="Hello";
String s=hi.substring(0,3); //复制hi0、1、2位置的字符组成新的字符串s为Hel
拼接
如果需要把多个字符串放在一起,用一个定界符分隔,可以使用静态join方法
String all = String.join("/","S","M","L","XL");
//结果all为"S/M/L/XL"
比较两个字符串是否相等
s.equals(t) //返回结果为true或是false
检测两个字符串是否相等,不区分大小写
"Hello".equals("hello")
一定不要使用==运算符检测两个字符串是否相等! 这个运算符只能够确定俩个字符串是否放在同一个位置上。当然如果字符串放在同一个位置上,他们必然相等。
空串与Null串
空串 “” 是长度为0的字符串。可以调用以下代码检测是否为空:
if(str.length()==0)
或
if(str.equals(""))
空串是一个Java对象,有自己的长度(0)和内容(空)。不过,String变量还可以存放一个特殊值(null),这表示目前没有任何对象与该变量关联。
要检查一个字符串既不是null,也不为空串:
if(str!=null&&str.length()!=0)
构建字符串
构建一个空的字符串构建器
StringBuilder builder =new StringBuilder();
在JDK5.0中引入StringBuilder类。这个类前身是StringBuffer,StringBuffer效率稍有些地,但是允许采用多线程的方式进行添加或者删除字符的操作。如果所有字符串在一个单线程中编辑,则应用StringBuilder。