c语言sscanf函数的用法是什么
232
2022-09-25
003-Java基础
Java基础
1.Java注释2.Java关键字3.Java基本数据类型
3.1 Java数据类型之间的转换
4. Java标识符5. Java常量变量6. Java运算符
6.1 算数运算6.2 关系运算6.3 逻辑运算6.4 位运算
7. Java包装类
源码项目地址: / src / chapter003 包下面
1.Java注释
/** * 这个是文档注释, 对类/方法/常量等的说明 * JavaSE 第三章 */public class Chapter003 { /** * 程序执行入口 */ public static void main(String[] args) { // 单行注释 对语句/变量等进行说明, 一般在语句上方 System.out.println("这是单行注释:// 前面有个空格哟"); /* 这是多行注释 使用比较少 */ System.out.println("这是单行注释:/*注释内容在里面*/"); System.out.println("这是文档注释:/**注释内容在里面*/"); }}
2.Java关键字
引用菜鸟教程这里大概有个印象, 后面代码会有讲解
3.Java基本数据类型
参考菜鸟教程:class Point02 { /** * 程序执行入口 */ public static void main(String[] args) { dateType(); } // 类变量不需要初始化值, 在加载类时会填充默认值 boolean defaltBoolean; /** * Java里面的变量需要申请内存进行存储的, 和C/C++一样 * 每个类型的变量所需的内存不一样, 所有导致存储的大小和能力不同 * Java 分为两大数据类型(这里我们先讨论基本数据类型) * 1.基本数据类型 * 2.引用数据类型 */ public static void dateType(){ /** * byte * 8位二进制 * 最小值是 -128(-2^7) * 最大值是 127(2^7-1) * 默认值是 0 */ System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); System.out.println("包装类:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); /** * short * 16 位二进制 * 最小值是 -32768(-2^15) * 最大值是 32767(2^15 - 1) * 默认值是 0 */ System.out.println("基本类型:short 二进制位数:" + Short.SIZE); System.out.println("包装类:java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); /** * int * 32 位二进制 * 最小值是 -2,147,483,648(-2^31) * 最大值是 2,147,483,647(2^31 - 1) * 默认值是 0 */ System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); System.out.println("包装类:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); /** * long * 64 位二进制 * 最小值是 -9,223,372,036,854,775,808(-2^63) * 最大值是 9,223,372,036,854,775,807(2^63 -1) * 默认值是 0L */ System.out.println("基本类型:long 二进制位数:" + Long.SIZE); System.out.println("包装类:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); /** * float * 32 位二进制 * 默认值是 0.0f */ System.out.println("基本类型:float 二进制位数:" + Float.SIZE); System.out.println("包装类:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); /** * double * 64 位二进制 * 默认值是 0.0 */ System.out.println("基本类型:double 二进制位数:" + Double.SIZE); System.out.println("包装类:java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); /** * boolean * 1 位二进制 * 默认值是 false */ // 方法里面的变量必须初始化值分配空间, 不然编译器无法通过 boolean defaltBoolean = false; System.out.println("基本类型:boolean 默认值 : " + defaltBoolean); /** * char * 16 位 Unicode 字符(可以是中文) * Java采用的就是Unicode编码 也就是说变量名可以是中文 但是没人这么做 * 最小值是 \u0000(即为0) * 最大值是 \uffff(即为65,535) */ System.out.println("基本类型:char 二进制位数:" + Character.SIZE); System.out.println("包装类:java.lang.Character"); // 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台 System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); }}
3.1 Java数据类型之间的转换
public class Point03 { /** * 程序执行入口 */ public static void main(String[] args) { /** * 类型转换分为 自动类型转换 和 强制类型转换 * 转换从低级到高级: * byte,short,char—> int —> long—> float —> double */ byte byteVar = 1; // 自动转换, 小容器倒进大容器, 值还是不变的. int intVar = byteVar; // byte-->int====1 System.out.println("byte-->int====" + intVar); // 强制转换, 大容器倒进小容器, 会导致精度丢失. float floatVar = 666.666f; intVar = 666; byteVar = (byte) intVar; intVar = (int) floatVar; // int-->byte====-102 System.out.println("int-->byte====" + byteVar); // float-->int====666 System.out.println("float-->int====" + intVar); }}
4. Java标识符
Java中取类名, 变量名, 方法名等时需要注意的规则,名字不是乱取的。
开头 : 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开头结尾 : 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合结尾关键字不能用作标识符标识符是大小写敏感的标识符可以是中文, 但没人这么干
/***********标识符举例***********/ int 你好 = 1; double _i_ = 10; float aaaaaaaaaaa = 88f; char $$$$hhhhhh$$$ = 99; boolean hh6666 = false;
5. Java常量变量
Java 变量/常量
局部变量/常量类变量/常量(静态)成员变量/常量(非静态)
带final关键字的就是常量, 一般用大写字母 下划线分隔
6. Java运算符
初始化 a = 10, b = 20;
6.1 算数运算
操作符 | 描述 | 例子 |
+ | 加法 | a+ b 等于 30 |
- | 减法 | a– b 等于 -10 |
* | 乘法 | a* b等于200 |
/ | 除法 | b / a等于2 |
% | 取余 - 左操作数除以右操作数的余数 | b%a等于0 |
++ | 自增: 操作数的值增加1 | a++ 或 ++a 等于 11 |
– | 自减: 操作数的值减少1 | b-- 或 --b 等于 19 |
6.2 关系运算
操作符 | 描述 | 例子 |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
6.3 逻辑运算
操作符 | 描述 | 例子 |
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (true && false)为假。 |
|| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (true || false)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(false && true)为真。 |
6.4 位运算
操作符 | 描述 | 例子 |
& | 按位与, 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 |
| | 按位或, 如果相对应位都是0,则结果为0,否则为1 | (A |
^ | 异或, 如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
public class Point05 { public static void main(String[] args) { int a = 10; int b = 20; // 算数运算 System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("a % b = " + (a % b)); System.out.println("a++ = " + a++ + ", ++a = "+ ++a); System.out.println("a-- = " + a-- + ", --a = "+ --a); // 关系运算 System.out.println("a == b is " + (a == b)); System.out.println("a != b is " + (a != b)); System.out.println("a > b is " + (a > b)); System.out.println("a < b is " + (a < b)); System.out.println("a >= b is " + (a >= b)); System.out.println("a <= b is " + (a <= b)); // 逻辑运算 boolean flagA = true; boolean flagB = false; System.out.println("true && false is " + (flagA && flagB)); System.out.println("true || false is " + (flagA || flagB)); System.out.println("!true is " + (!flagA)); // 位运算 System.out.println("a 的二进制: " + Integer.toBinaryString(a)); System.out.println("b 的二进制: " + Integer.toBinaryString(b)); System.out.println("a & b = " + (a & b)); System.out.println("a | b = " + (a | b)); System.out.println("a ^ b = " + (a ^ b)); System.out.println("~a = " + (~a)); System.out.println("a << 2 = " + (a <<2)); System.out.println("a >> 2 = " + (a >>2)); System.out.println("a >>> 2 = " + (a >>>2)); }}
7. Java包装类
/** * 包装类的使用介绍 * 参考链接: javascript:void(0) */ public static void packaging(){ //1.自动装箱 int t1=1; Integer t2=t1; //2.手动装箱 Integer t3=new Integer(t1); System.out.println("int类型t1="+t1); System.out.println("自动装箱,Integer类型对象t2="+t2); System.out.println("手动装箱,Integer类型t3="+t3); //1.自动拆箱 int t4=t2; //2.手动拆箱 //通过intValue()方法返回int值,还可以利用其他方法装换为其他类型 int t5=t2.intValue(); System.out.println("自动拆箱,int型t4="+t4); System.out.println("手动拆箱,int型t5="+t5); //基本数据类型转换为字符串 String str=Integer.toString(t1); System.out.println("int转换为String:"+str); //字符串转换为基本数据类型 //通过paerInt方法 int it=Integer.parseInt(str); //通过valeOf,先把字符串转换为包装类然后通过自动拆箱 int it1=Integer.valueOf(str); Integer one=new Integer(100); Integer two=new Integer(100); //one和对two是两个不同的对象,==在比较对象时比较的是内存地址,两个是不同的空间,放的值相同 System.out.println("one==two:"+(one==two)); Integer three=100;//自动装箱 /* Integer three=Integer.valueOf(100); * 这时缓存区没有,就会构造一个 */ System.out.println("three==100:"+(three==100));//自动拆箱 Integer four=100; /*实际执行的是 Integer four=Integer.valueOf(100); 这时缓存区有,就会直接取 * Java为了提高拆装箱效率,在执行过程中提供了一个缓存区(对象池)【类似于常量数组】, * 如果传入的参数是,-128<参数<127会直接去缓存查找数据,如果有久直接产生,如果没有就隐式调用new方法产生 */ System.out.println("three==four:"+(three==four)); Integer five=200; System.out.println("five==200:"+(five==200)); Integer six=200; //注:这里为200,超出了缓存区范围,所以都需要构建 System.out.println("five==six:"+(five==six)); /* * 输出: * one==two:false three==100:true three==four:true five==200:true five==six:false */ }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~