声明:萌新一只,本文用于个人学习记录,只是部分所学知识的记录,系统化学习还请寻找相关资料
一.数据类型
总结如下图:
随记:
字符串 String类型 属于引用数据类型
对精度有严格要求的的小数运算需要使用BigDecimal类来解决。
整型的四个类型所占字节分别为1,2,4,8 这也决定了它们的最大值和最小值。
浮点型的float占4个字节,double占8个字节。
数据类型在转换中,小>>大 可以自动转换
大>>小 需要强制转换,并且有丢失精度的风险。
顺便一说,byte类型在计算时自动会转变为int类型,不会报错。
String类型与int类型转换的时候,如果一个字符串是由纯数字组成的,可以用如下代码完成
String str = "1234"; int a = Integer.parseInt(str);
如果不是纯数字组成的话,会报如下错误
最后提一下变量与常量
变量作用在它定义所在的{},并且命名时只能有数字,英文,下划线,数字不能作为变量开头,英文分大小写
常量声明后不能更改,且需要在定义是赋值,用final 关键字. 例:final int a = 10;
字面值常量:直接写出来的值,这种值称为字面值常量.
二.运算符
1.算数运算符
包括 + - * / ps.其中要注意不能 /0
% 取余计算
int a = 16;
int b = a % 3; 得到b的结果为1.
double c = 6.5;
double d = c % 2; 结果为0.5
++与-- 要注意在变量的前面还是后面 分别是先加再用和先用再加
2.关系运算符
包括 < > >= <= != ==
ps. ==运算符返回的是Boolean类型,返回真(TRUE)或者假(FALSE)
3.逻辑运算符
a && b:当表达式a和b都为TRUE返回TRUE,否则返回FALSE 全对对(全对才对)
a | | b:当表达式a和b都为FALSE返回FALSE,否则返回TRUE 全错错
4.位运算符
&:按位与 a&b二进制位都为1才返回1,否则返回0 全11
|:按位或 a|b二进制位都为0才返回0,否则返回1 全00
^:按位异或 二进制位相同为0,不同为1
~: 按位取反
移位运算
<< 左移1位 相当于 * 2
>> 右移1位 相当于 / 2
>>> 无符号右移 没有<<<这个东西!
5.条件运算符
三目运算符 变量声明 = 表达式 ?为真时取值:为假时取值
例: int a = 10;
int b = 20;
int c = a < b ? a : b // 10<20 条件为真,取a:b的前者,即 10
三.程序逻辑结构
1.顺序结构
单线程情况下,按照代码顺序从上至下的执行。
2.分支结构
(1)if...else 分支 太常见了,不举例了,注意一下此分支与两个纯if相比,此分支只能走一个分支,双if可以都走
(2)swich(整型|字符|字符串|枚举)
case a: ......... break;
case b : ..........break;
default:........ 值不符合上述情况的时候,走此分支
在同一变量值不同的时候使用, 没有break会导致后面的全部输出
3.循环结构
1.while
while(表达式){
表达式成立时才执行的代码块
}
break与continue的区别:
break; 结束当前循环
continue; 跳过本次循环,执行下次循环
2.for
for(初始表达式;终止条件;条件更新){
循环体代码块
}
四.输入输出
1.输入
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
如上,IDEA中每个函数只用打首字母或者两个字母即可自动生成。
2.输出
System.out.println() 常用,简写sout,自带换行
System.out.print() 不带换行,有时候会用到
System.out.printf() 和c语言一样的用法,个人认为比较麻烦,一般应该不会用。
嗯...基础的话大概就是这些,比较简单的常识没有写上。本来打算SE放在一个专栏的,结果发现等级不够233。