基础语法
1.二进制
1.计算机内二进制以补码形式表示
2.正数的补码等于原码
3.负数的补码:绝对值的二进制,按位取反再加1
4.使用补码减法可用加法处理
5.补码相加,最高位(符号位)进位舍弃
6.二进制与十进制转换:按位加权
7.十进制转二进制:
整数“除2取余,逆序排列”
小数“乘2取整,顺序排列”
2.数据类型
类型 | 字节 | 范围 |
---|---|---|
布尔型(boolean) | 1字节 | true or false |
字节型(byte) | 1字节 | -128 ~ 127 |
字符型(char) | 2字节 | ‘\u0000 ~ u\ffff’ |
短整数型(short) | 2字节 | -32768 ~ 32767 |
整数型(int) | 4字节 | -2147483648 ~ 2147483647 |
浮点型(float) | 4字节 | –3.40292347E+38 ~ 3.40292347E+38 |
双精度(double) | 8字节 | -1.79769313486231570E+308 ~ 1.79769313486231570E+308 |
长整型(long) | 8字节 | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L |
3.标识符
- 数字,字母,下划线,$
- 见名知意
4.快捷键
syso: System.out.println()
5.类型转换
- 自动类型转换:容量小的类型自动转换成容量大的
- byte. short, int->float->long->double
- 强制类型转换:容量大的类型转换成小的类型
- int i = (int)b;
- 导致精度丢失
6.double和float类型变量的定义
//1.直接写出的浮点数字,默认类型是double(8字节),超出float(4字节),需要强转
//解决:在浮点数字后加f,表示写出的类型是浮点型
//float f1 = (float)10.1;
float f1 = 10.1f;
//2.long类型定义需注意:我们直接写出的整型数字,默认类型是int,当值过大时会提示出错
//解决:在整型数字后面加入l,来表示写出的整型数字时long类型的
long l1 = 2200000000l;
//3.char类型,属于数值型(以数字存储),可以变成数字并进行运算
char c1 = 'A';
System.out.println(c1);
System.out.println(++c1);
7.方法
主要要素:权限修饰符,方法名,参数列表,返回值
访问修饰符 | 同一个类 | 同包 | 不同包,子类 | 不同包,非子类 |
---|---|---|---|---|
private | v | |||
default | v | v | ||
protected | v | v | v | |
public | v | v | v | v |
超出代码框,变量会被视为垃圾释放
public static void main(String[] args) {
int num = sum(10, 20);
System.out.println(num);
}
public static int sum(int x, int y) {
int s = x + y;
return s;
}
8.运算符
a+=b
a*=b
-=
/=
%=
9.编程规约
命名风格(参照阿里巴巴Java命名法)
- 代码中命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束
- 代码中命名不能使用拼音英文混合,纯英文
- 类名必须使用UpperCamelCase命名法 e.g.TcpUdpDeal
- 方法名,参数名,成员变量,局部变量都统一使用lowerCamelCase命名法
- 常量全部大写,但此舰用下划线隔开,力求语义表达完整清楚
- e.g.MAX_STOCK_COUNT
- 类型与中括号紧挨相连来表示数组
- e.g.int[] arrayDemo
- 未完待续。。。
Java
回文数
//method 1
int num = testNum1;
int testPalindromeNum = 0;
while(num != 0) {
testPalindromeNum = testPalindromeNum * 10 + num % 10;
num = num / 10;
}
if(testPalindromeNum == testNum1) {
System.out.println("This is a palindrome number");
}
//method 2
public boolean isPalindrome(int x) {
if (x < 0 || (x % 10 == 0 && x != 0)) return false;
int revertedNumber = 0;
while (x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
return x == revertedNumber || x == revertedNumber / 10;
}
作者:MisterBooo
链接:https://leetcode-cn.com/problems/palindrome-number/solution/dong-hua-hui-wen-shu-de-san-chong-jie-fa-fa-jie-ch/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。