Java学习笔记一:基础知识——标识符命名规则/变量声明/数据类型/运算符

Java学习笔记一:基础知识

一、常用DOS命令

mkdir 创建文件夹
del 删除文件 支持模糊匹配 *.docx
cd 切换路径 cd …回到上级目录 cd \ 直接回到根目录
cls 清屏
exit退出DOS命令窗
tab键快捷列目录 空格自动补全
dir 查看当前路径下所有文件

ipconfig /all
ping IP地址(104.193.88.123) ping 域名(www.baidu.com)
ping 地址 -t可以一直ping 测试网络是否稳定

二、Java注释

// 单行注释

/*
多行注释
*/

/**
*文档注释
*Javadoc注释
*/

三、public class
public修饰的类有且只能有一个,且必须与源文件同名

public class Main {
}

四、标识符

  1. 命名规程:只能由数字、字母、下划线、$构成;
    不能含有空格,且不能以数字开头;
    不能使用关键字;
    严格区分大小写。

    1. 类名/接口名:首字母大写有,后面每个单词首字母大写
      UserName UserAge

      方法名/变量名:首字母小写,后面每个单词首字母大写
      findName identifyGender

      常量名:全部大写,单词之间用下划线衔接
      USER_AGE USER_NAME

五、变量
1、变量三要素:变量类型、变量名、变量值

2、同一个域中,变量不能重复声明,变量名不能重复(不同类型也不可重复)

3、可以一行同时声明多个变量,但只有最后一个变量被赋值
int a, b, c = 100;
//a、b、c被定义为int型,但只有c被赋值为100,a和b未被初始化

4、变量的分类:
局部变量:在方法体中声明的变量;
局部变量只在方法体中有效,方法体执行结束该变量的内存释放。
成员变量:在方法体之外声明的变量

5、变量的作用域
变量的有效范围 —>大括号内
在大括号内声明的变量,在该{ }外无法被访问
不同的作用域中,变量名可以重复

六、数据类型
1、
第一种:基本数据类型
整数型:byte(1字节),short(2),int(4),long(8)
浮点型:float(单精度,4字节),double(双精度,8字节)
布尔型:boolean(1)
字符型:char(2)

  • 任意一个浮点型都比整数型空间大
    double > float容量 > long容量 > int

  • java中任何一个浮点型数据默认当作double类型处理,数据后加F/f是float类型
    float a = 10.0F;
    float b = (float)3.14; // 强制类型转换,编译通过但可能损失精度

第二种:引用数据类型
字符串型 String
财务软件方面的高精度类型 java.math.BigDecimal
其他

2、取值范围:
byte:【-128,127】
short:【-32768,32767】
int:【-2147483648,2147483647】
char:【0,65535】 采用unicode编码(utf-8 utf-6 utf-32)

3、整数型的4种编写方式
十进制 int a = 10;
八进制 int a = 010; 01开头
十六进制 int a = 0x10; 0x开头
二进制 int a = 0b10; 0b开头

4、整数型的字面量/数据默认被当做int类型处理,若想定义为long类型,在字面量后面添加L/l
一般使用大写L,小写l容易与数字1混淆

5、自动类型转换:小容量直接赋值给大容量
long a = 20; // int赋值给long
强制类型转换:大容量转换成小容量,使用强制类型转换符(int),可能造成损失(直接删除前面的4个字节)
long x = 100L; int y = (int)x;

当整数型字面量没有超出byte取值范围,则这个字面量可以直接赋值给byte类型的变量
byte a = 1; byte b = 127; // byte c = 128 报错:不兼容的类型

short类型同理

当整数赋值给char类型变量时(取值范围内),会自动准换为char字符型,输出一个字符
char x = 97; // —> a 97对应的字符是a
超出取值范围时,需要强制转换,输出一个未知字符
char b = (char)65536 // —> ?

6、byte,short,char混合运算
byte,short,char做混合运算时,各自先转换成int类型再做运算
byte a = 1;
short b = 2;
char c = ‘a’; // a对应97
int x = a + b + c; // —> x = 100

多种数据类型做混合运算时,最终的结果类型是“最大容量”对应的类型。(byte,short,char混合运算除外)

int类型计算结果仍是int类型
int a = 10 / 3; // a --> 3

7、原码/反码/补码
计算机在任何情况下都是采用二进制补码的形式存储数据的

正数:原码、反码、补码是同一个
15 原码 00001111 反码 00001111 补码 00001111
负数:反码–符号位不变,其余各位取反;补码–反码加 1。
-15 原码 10001111 反码 11110000 补码 11110001

int a = 150;
byte b = (byte)a;
// 输出 ==> -106

/*
150 原码/反码/补码 00000000 00000000 00000000 10010110
转换为byte后 10010110(补码)–> 反码 10010101 --> 原码 11101010
–> 十进制为-106
*/

七、转义字符 “\”
\t 表示制表符tab
\n 换行符

输出‘字符:
System.out.println(‘’‘); System.out.println("’“);也可以
输出\字符:
System.out.println(‘\’);
打印带“”的字符串
System.out.println(”“test”"); (可以用中文的双引号)

\u 表示后面是一个字符的unicode编码
System.out.println(‘\u4e2d’); ==> 打印出“中”

八、运算符

1、算数运算符
n++ 先做赋值,再自加1;
int n = 10; // 11
int x = n++; // 10

++n 先自加1,再赋值;
int n = 100; //101
int y = ++n; //101

2、关系运算符
所有的关系运算符的运算结果都是布尔类型(true/false)
关系运算符中如果有两个符号,符号中间不能有空格。

3、逻辑运算符
逻辑运算符两边要求都是布尔类型,最终运算结果也是布尔类型
true & true ==> true

短路与&& 和 逻辑与& 的区别:
当使用短路与&&时,左边的表达式为false时,右边的表达式不再执行。
两者运算结果一致,短路与&&效率更高。
当需要两边表达式都执行时,选择使用逻辑与&

4、赋值运算符
赋值运算符包括基本赋值运算符(=)和扩展赋值运算符(+= -= *= /= %=)
m += 10; // 相当于 m = m + 10;

使用扩展赋值运算符时,不会改变运算结果类型(可能会造成精度损失)
byte a = 100;
a += 199;
// 相当于a = (byte)(a + 199); // 输出44 (int299强转为byte类型)

5、条件运算符(三目运算符)
语法格式:
布尔表达式?表达式1:表达式2
true --> 表达式1
false --> 表达式2

6、字符串连接运算符 +
遵循从左往右拼接原则

int a = 10;
System.out.println("a = " + a); // --> a = 10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值