Java基础
一、数据类型
个人复习过程中潦草记录下来的,读者别介意哈
顺便提一下注释:
Java当中注释分为:单行注释、多行注释、文档注释
单行注释:// 注释类容
多行注释:/** 注释内容 */
文档注释:@
/** * @Author:阿尔法哲 * @Slogan:无论风雨,和自己一决胜负吧 * @Description:复习 * @Version:1.0 */
在命令行窗口输入以下命令:
javadoc -encoding UTF-8 -charset UTF-8 Doc.java
-
javadoc:生成文档
-
-encoding UTF-8 -charset UFT-8:此命令用于防止文档中出现中文导致乱码,优化文档编码
-
Doc.java:引用生成文档的Java文件
一个中文占两个字节
1.1、类型转换
类型转换按照优先级,从低到高为自动类型转换,反之则为强制类型转换(需要人为操作去转换)
二、常量、变量、作用域
2.1、变量
2.2、作用域
变量作用域分为:
类变量:也称静态变量,无需创建实例对象,直接可以引用使用;
实例变量:从属于类,需要通过new 对应实例对象引用使用,如果不对该变量进行初始化,默认为这个类型的初始值;
数值类型默认值为:0 0.0
boolean类型默认:false
除了基本数据类型,其他默认都是null
局部变量:存在于方法体当中,作用范围在方法体内部;
三、运算符
/** * 二元运算符 */ public static void test1() { // 二元运算符 + - * / %(模余符号) ++ -- int a = 10; int b = 20; int c = 25; int d = 25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); System.out.println(c%a); // ++ -- int s = a++; // 先给s赋值,a再自增 int g = ++a; // a先自增,在给g赋值 System.out.println(a);// a = 12 System.out.println(s);// s = 10 System.out.println(g);// g = 12 /** * 测试类型转换 * 1、自动转换 优先级由低到后 * byte-->short-->char-->int-->long-->float-->double */ long ab = 11112123231L; int bb = 123; short cb = 10; byte db = 8; System.out.println(ab+bb+cb+db);//long类型 System.out.println(bb+cb+db);//int类型 System.out.println(cb+db);//int类型 } /** * 关系运算符 * > < == >= <= != */ public static void test2() { int a = 10; int b = 20; System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); // Math 数学计算类 // 幂运算 2^3 2*2*2 double pow = Math.pow(2, 3); System.out.println(pow); } /** * 逻辑运算符 * 或(or)|| 与(and)&& 非(取反)! */ public static void test3() { boolean a = true; boolean b = false; System.out.println("a || b=\t"+(a||b)); // true System.out.println("a && b=\t"+(a&&b)); // false System.out.println("!(a && b)=\t"+!(a&&b)); // true // 短路运算 int c = 5; boolean d = (c<4) && (c++ < 4); // 判断前面的为false,后面的就不执行判断了 System.out.println(d); // false System.out.println(c); // 5 // 位运算符 /** * A:0011 1100 * B: 0000 1101 * A&B(与):0000 1100 :相乘 * A|B(或):0011 1101 :如果对应位是0则为0,如果有一个1 则为1 * A^B(异或):0011 0001:如果两个位置相同则为0,否则为1 * ~B(非->取反):1111 0010 * * 2 * 8 = 16 2*2*2*2 * 二进制表位数移动 * << :左移 * >> :右移 * 0000 0000 --->0 * 0000 0010 --->2 * 0000 0100 --->4 * 0000 1000 --->8 * 0001 0000 --->16 */ System.out.println(2<<3); // 16 System.out.println(16>>2); // 4 /** * 扩展运算符 += -= * a+=b a = a+b * a-=b a = a-b * * 三元运算符 ? * x ? y : z * 如果x==true,则结果为y,否则结果为z */ }
四、包机制
五、内存分析
六、多态
无论风雨,和自己一决胜负吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)