6.3 学习日志

一.java学习笔记 第三章数据类型
标识符:
标识符可以标识:类名,方法名,变量名,接口名,常量名…
标识符:凡是程序员自己有权利命名的单词都是标识符
标识符不能以数字开头,标识符不能有空格,关键字不能做标识符 java源文件名为数字时,他不能定义public类;
标识符区别大小写 对于类名来讲,Java一个源文件同时出现A类,a类 谁在前先生成谁
命名规范:见名知意,类名和接口名单词首字母大写,变量名和方法名首字母小写后面首字母大写,常量名全大写单词之间下划线

关键词(全部小写)

javadoc提取帮助文档要有特殊格式

JVM来给不同数据类型分配空间
比特位是二进制位 1个比特位就是1个0或1 1个字节 = 8个比特位(bit)
int i = 1; 00000000 00000000 00000000 00000001内存中表示
在同一个域中变量名不能重名,可以重新赋值
方法体内声明的变量:局部变量;
方法体外,类体内声明的变量:成员变量;

基本数据类型: int long short byte float double boolean char
引用数据类型: 字符串型 String 除了基本数据类型之外,剩下的都是引用数据类型
boolean 1字节 char 2字节 float 4字节
char:0 ~ 65535
short:-32768 ~ 32767

常见ASCII(字符转换为二进制)码:‘a’ -> 97 ‘A’ -> 65 ‘0’ -> 48
unicode统一了全球所有的文字,支持所有文字(utf8 utf16 utf32) java使用的字符编码
ISO-8859-1(latin-1) GB2312 GBK GB18030 Big5
汉字占用2字节 char刚好可以容纳一个汉字

Java转义字符:
1.’\t’ ‘\n’ ‘’’(表示一个普通的 ’ ) ‘\’(表示一个普通的 \ )
2.输出需要带双引号的字符串时:1.字符串的双引号需要改为中文双引号
2.单纯双引号表示方法 “”"
3.\u 表示后面的是一个字符的unicode编码 例如’\u4e2d’ -> ‘中’

整型数据:
1.重点:在任何情况下,整数型的"字面量/数据"默认被当作int类型处理
当"整数字面量"被当作long类型来处理,需要在"字面量"后添加L

2.自动类型转换:小容量转换成大容量 例如 long b = 200; 200本身默认为int 将Int型转换为long型
当long b = 200L;不存在自动类型转换 200L被默认为long类型
对于过大的整数:例如:long c = 2147483648;数会被默认为int型 但数已经超过了范围 需要在后加上L 转换为long

3.强制类型转换:大容量转换成小容量 (需要转换成的类型)数 可能会损失精度
大字节类型数在进行强转时 会损失前几位的字节 剩下的字节转化成整数就是输出的数

4.重点:当整数型字面量没有超出byte short的取值范围则这个整数型字面量可以直接赋值给byte short类型的变量
整数直接赋值给char:当整数未超过char的取值范围时,会被自动转换成数字对应的字符

5.计算机只能识别二级制 在底层存储数据的时候,一律存储的是二进制补码的形式
对于负数而言:反码:符号位不变,其他位取反; 补码:反码+1; 正数是一致的

6.多种数据类型做混合运算时,结果是"最大容量"对应的数据类型
特殊:byte char short做结合运算的时候,各自先转换成int在做运算,结果为int

浮点型数据:
1.更高的精度:java.math.BigDecimal(引用数据类型)
2.float和double存储数据都是存储的近似值
3.float的"容量"大于long 任意一个浮点型都比整型空间大
4.java中,任意一个浮点型数据默认当作double来处理 如需转成float 在其后加上F/f
例如:float f = 3.14F;float f = (float)3.14;
5.当浮点型与整型混合运算时:将与需要结果类型不同的数强制转换; 将结果(整个式子)强行转换

布尔型数据:(只有true flase)
1.表示逻辑判断 输出判断表达式结果时 输出布尔型数据
例如:int a = 10;int b = 20; System.out.println(a>b); 结果输出flase;
2.除了布尔类型数据外,其余都可以进行数据转换

二.力扣习题
题目描述:给一个仅包含大小写字母和空格的字符串 返回最后一个单词的长度 不存在最后一个单词请返回0

思路:从后往前遍历 直到遇到大小写字母后设置一个变量len len++;直到遇到空格返回len值

int lengthOfLastWord(char * s){
int l;
int i;
int res = 0;

if(NULL == s)
    return 0;

l = strlen(s);
for(i = l-1; i >=0; i--)
{
    if(isalpha(s[i]))
        res++;
    else
        if(res)
            break;
}

return res;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值