2022.01.20 周四 多云

 


一、Java基础

1. 面向对象编程的三个基本特征

封装:封装是指将某事物的属性和行为包装到对象中,这个对象只对外公布需要公开的属性和行为,而这个公布也是可以有选择性的公布给其它对象。在java中能使用private、protected、public三种修饰符或不用(即默认defalut)对外部对象访问该对象的属性和行为进行限制。

继承:一种类的重用机制,子类继承自父类(java中用extends关键字表示继承)。子类继承了父类的实例变量和方法,子类也可以修改或新增方法。(组合是指在新类中创建已有类的对象)

多态:实现方式是父类引用指向子类对象。

2. java基本类型

类型名称        占比特位数        表示范围           

byte                8                        -128~127(8位有一个符号位,所以是2^7)

short              16

int                  32

long               64

float               32

double           64

char              16

boolean         8

(1)浮点数值不适合用于无法接受舍入误差的金融计算,比如System.out.println(2.0-1.1)将打印出0.8999999999999999,此时可以用BigDecimal来计算。

(2)char类型可以表示\u0000到\uFFFF的十六进制值,Unicode转义序列会在解析代码之前得到处理。

(3)在java中,char类型描述了UTF-16编码中的一个代码单元。强烈建议不要在程序中使用char类型。

(4)java11提供了String类的repeat方法,比如"Hello".repeate(3),得到的是"HelloHelloHello"。

(5)java的String字符串大致类似于char*指针。

(6)java9中,只包含单字节代码单元的字符串使用byte数组实现,所有其他字符串使用char数组。

3. 对象包装器(Integer、Long等)和自动装箱

(1)包装器是final的,不可派生子类。

(2)var list = new ArrayList<Integer> 集合的类型参数不允许使用基本类型。

(3)list.add(3) 自动装箱;int n = list.get(i) 自动拆箱。

(4)自动装箱规范要求boolean, byte, char<=127,介于-128和127之间的short和int被包装到固定对象中。举例:Integer a=100; Integer b=100,则a==b结果为true。

4. 输入输出(控制台)

(1)System.out.print和System.out.println的区别。后者可以自动换行;

(2)Scanner sc = new Scanner(System.in); String line = sc.nextLine(),表示读入一行;int a = sc.nextInt(),表示读入一个整数;

(3)从jdk1.5开始沿用了c的printf函数,System.out.printf();

5. 其他

(1)switch语句的case分支末尾要记住break,否则会继续执行下一个分支。

(2)case标签可以是char, byte, short, int, 也可以是枚举常量。从Java7开始还支持字符串字面量,比如case "hello"。

(3)数组常用的方法:Arrays.sort() 优化的快排;Arrays.binarySearch()二分查找。
 

二、C基础

1.  scanf以空格作为输入结束标志,gets以回车作为输入结束。

2. strcpy(a, b)表示把字符数组b中字符串连同串结束标志"\0"拷贝到字符数组a中,b也可以是字符串常量比如"hello"。注意,a的长度要足够。

3. strcmp(a, b)按照ASCII码顺序比较字符数组a, b,返回int类型,相同返回0。

4. strlen(a)测试字符串实际长度(不包含字符串结束标志)。

5. 结构体三种写法

复制代码
struct student
{
    int number;
    char name[10];
    float mark[4];
};
struct student std1, std2;
--------------------------------------
struct student
{
    ......
}std1, std2;
--------------------------------------
struct
{
    ......
}std1, std2;
复制代码

6. C语言中数组的元素可以为结构体,称为结构体数组。

 

posted @   方山客  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示