Day05
抽象一个java类
一个java类包含属性和方法
方法的声明:
方法的要素:
修饰符、返回值、方法名称、参数列表、方法体
方法的调用:
目前为止:使用对象.方法名字();来进行调用,括号内要使用参数列表(如果有的话)
变量的类型:
局部变量
位置:方法内部
使用方式:使用前没有初始的默认值,需要手动初始化
成员变量
位置:方法内部,但是在类的内部
使用方式:使用前有默认值
整型:0
浮点型:0.0
布尔型:false
字符型:‘ ’
引用类型:null
jvm拿到
内存的划分:
方法区:放类的相关信息
栈:变量相关 信息,每条线程拥有自己独立的栈
堆:存放new操作之后存放的数据,各个线程之间共享
常量池:常量,在堆中
基本类型的存储方式:栈中开辟空间,直接保存值
引用类型的存储方式:栈中开辟空间保存变量,使用new的方式在 堆区开辟空间保存数据,同时把堆区的内存地址赋值给栈区的变量
操作符和流程控制
数学运算操作符:
+:如果两侧都是数字,则代表加法运算
如果两侧出现字符串,则代表字符串拼接
-
*
/:整除和不整除
浮点数转为整数,三种方法:
去尾:不管小数部分是多少,统统不要
进一:只要存在小数部分,则整数部分加1,小数部分舍去
四舍五入:如果浮点数转为整数,则会丢掉小数部分的精度
% :
BigDecimal
赋值操作符:-=、+=、*=、/+、%=
a+=1、a = a +1前者会比后者多一步隐式数据类型转换
相等操作符:返回值是boolean
==:
左右为数字:则对比具体的数值
左右为引用类型:则对比
一边为数字,一边为引用类型:编译报错
如果想对比字符串的内容是否一致,可使用Object的方法equals();
用法:字符串对象1.equals(字符串对象2);
!=:不等,和ixangdeng用法完全一样,但是逻辑完全相反
对比字符串内容的方法,string.equals();
System.out.println(str1.equals(str3));
比较操作符:(返回值是boolean,一般用于判断条件)
>:1<2---->true
<:1>2----->false
>=:1>=1—>true
<=:1<=1---->true
位运算符:二进制的运算
&:与
0&0=0
0&1=0
1&1=1
|:或
1|1=1
1|0=1
0|0=0
^:异或(相同位0,不同为1)
0^0=0
0^1=1
1^1=0
a:1010
b:1011
c:0001
ab=c;ac=b;b^c=a;
不使用第三个变量的情况下,两个变量如何交换位置?
a=11;b=10;
~非,遇0则1