JAVA基础--重新整理(1)后版
比较喜欢用demo来讲解。
变量:
public static void main(String[] args) {
int age;//变量声明
age = 16;//变量的初始化,第一次赋值
age = 15;//变量的赋值
System.out.println(age);//15, 访问变量
int score = 100;//变量声明初始化
System.out.println(score);
}
这是关于变量的有些知识点,变量也就那些东西注意。就是声明,赋值。
二进制基础:
public static void main(String[] args) {
int i = 15;
System.out.println(Integer.toBinaryString(i));
i = 'A';
System.out.println(Integer.toBinaryString(i));
i = 0xff;//0x 是16进制的开头
System.out.println(Integer.toBinaryString(i));
i = '李';
System.out.println(Integer.toBinaryString(i));
//5(1024*1024) Byte
//1 Byte = 8bit; 两位16进制表示
//5M = 5* 1024 *1024 *2 个16进制字符
}
在这里,有点可以重新记一下。
1.计算机内部只有二进制,包括字符数据等。
2.任何,'A','李' 都可以转换为二进制。值得注意的是,
Integer.toBinaryString(); 这个方法能将我们一切用的转成计算机里面用的二进制。
3.一般我们习惯的10进制数字 传到 计算机 ,计算机通过 转成二进制 进行传输。
类同的16进制,10进制:
写几个注意点:
16进制 是 2进制的简写。 用0x开头
转换的方法:记住各进制常用的权就ok了。下面罗列下,举个例子。
2 进制:1 2 4 8 16 32 64 128
16进制:1 16 256
例子:1111(2)=1*1+1*2+1*4+1*8=15(10)
1000001(2)=64 +1 =65(10)
0x101(16)=256+1=257
java 基础类型:
四大类型:
先整数:short一般不用我不写了。
byte 8 bit -128 ~ 127
int 32 bit -2G~2G-1
long 64bit -2^63~2^63-1
public class IntegerDemo {
public static void main(String[] args) {
short age = 120;
int age1 = 120;//age age1 在java底层中内存 都是int类型.short 其实就是int
int size = 1024*1024*1024*2 ;
System.out.println(size);//-2147483648 超了int 范围
//直接量
long l = 1; //直接量,字面量
//l = 20000000000;//错
//System.out.println(l);
l = 2200000000L ;//以L l 结尾的数字 为long 类型
int a = 127;
//byte b = a;//变量不能给小类型赋值
long c = a;
}
}
上面demo中:
1.在java底层中内存 都是int类型.short 其实就是int
2.超了int 范围,会显示负值
3.以L l 结尾的数字 为long 类型
4.重要的一点:就是 变量不能给小类型赋值
在实际项目中也有些考虑的是,类似,QQ号,淘宝物品编号。。。想想应该用 long 或者 long long
再讲浮点:
public class FloatDemo {
public static void main(String[] args) {
int a = 0x7fffffff;
int b = 0x7ffffff0;
float af = a;
float bf = b;
System.out.println(af);//计算机默认输出为10进制。2.14748365E9 10^9
System.out.println(bf);
System.out.println(a);//af a 不同 因为 二进制取舍
System.out.println(b);
double da = a;
double db = b;
System.out.println(da);
System.out.println(db);
double d = 2.5;// double
float f = 2.5F;// F表示浮点类型的字面量
double c = 3D;
// f = 2.5 // 错
}
}
上面让我们学习了,
1.浮点数就是小数。
2.float f = 2.5//是错误的demo,,必须是2.5F
3.由于精度不同,有些精确的时候,float 会不正确。所以一般用double
4.写下一点计数法的知识:
10001000(2)
1000.1000*2^100(2)
1.0001000*2^111(2)
上面是等价的。
5.double a = 3D;// D 表示
然后是char
public class CharDemo {
public static void main(String[] args) {
int i = 'A';
System.out.println(i);// 65 A 的Unicode
char c = '中';
i = c;
System.out.println(i);// 20013
System.out.println(c);// 中
// 结论字符是一个数字,是字符的Unicode编码值
// println() 方法根据参数类型
// 采用不同的输出方式,整数输出整数,字符输出字符
System.out.println((int) 'B');// 66
int n = 'B' - 'A' + 10;
n = 'C' - 'A' + 10;
n = 'A' - 'D' + 10;
char ch = 'E';
int num = ch - 'A' + 10;// 'E' 到 14
System.out.println(num);
ch = '5';
num = ch - '1';
System.out.println(num);// '5' - '1' 转到 4
num = ch;
System.out.println(num);//53
char chr = 'A' + 3;
System.out.println(chr);//D
Random r = new Random();
int x = r.nextInt(26);// 随机数x的范围 属于[0,26)
chr = (char)('A' + x);
System.out.println(chr);// A~Z
char cx = 0;
char cy = '0';
System.out.println(cx);
System.out.println(cy);
char xx = '\'';
xx= '\\';
xx='\u0041';
xx='\u0000';
System.out.println(0=='\u0000');
System.out.println('0'=='\u0000');//false
// \n \r \t \' \" \\
System.out.println("a\tmd\nnd");
System.out.println("OK\u0000123");
}
}
我就罗列下上面demo的重要点:
1.最重要:采用不同的输出方式,整数输出整数,字符输出字符
2. println() 方法根据参数类型
3.'\'表示转译
byte-short-int-long-float-double
从大到小要强转,强转有风险,会造成精度损失或溢出。
| 本文来自 泥沙砖瓦浆木匠 之笔。 |
JAVA基础--重新整理(1)后版的更多相关文章
- Java基础 随笔整理
Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...
- Java基础进阶整理
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...
- java基础概念整理综合 及补充(jdk1.8)
2018 java基础 笔记回顾摘要 一 1,html 与 注释: <!-- --> 注释不能嵌套 代码都得有注释. 2,空格符: 3,css选择的优先级: id选择器 > ...
- java基础知识整理
java基础入门知识(转载请注明出处.) 1.JVM.JRE和JDK的区别. (1)JVM(Java Virtual Machine):java虚拟机,用于保证java跨平台的特性,java语言是跨平 ...
- Java 基础知识整理 (待整理)
JVM之类加载器(ClassLoader)基本介绍 类加载器用于将class文件加载到JVM中去执行.下面介绍类加载器涉及到的基本概念和加载基本过程. 一.Java虚拟机与程序的生命周期 在运行Jav ...
- java基础知识点整理
1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二 ...
- 万字干货|Java基础面试题(2022版)
目录 概念常识 Java 语言有哪些特点? JVM.JRE和JDK的关系 什么是字节码? 为什么说 Java 语言是"编译与解释并存"? Oracle JDK 和OpenJDK的区 ...
- java基础知识整理:
一, Java中的继承: 1. final关键字(最终的,不可修改的不可变化的,可以修饰类,方法,变量等): 如果final修饰类的话,这个类不可以被继承: 如果修饰方法的话,这个方法不可以被子类覆盖 ...
- Java基础知识整理(一)
Java开发环境JDK(Java编辑器.Java运行工具(JRE作用).Java文档生成工具.Java打包工具) 1.Java是严格区分大小写的.2.Java程序中一句连续的字符串不能分开在两行书写, ...
随机推荐
- C++ 实现分数的四则运算
对分数求加减乘除,以及化简 #include<iostream> #include<math.h> using namespace std; struct Fraction{ ...
- canvas(一) 基本线条绘制
var dom = document.getElementById('canvasItem'), ctx = dom.getContext('2d'); //坐标位置默认基于 浏览器窗口(0,0),此 ...
- Spring MVC 的国际化和本地化
国际化: i18n 本地化: l10n java.util.Locale 类表示一个语言区域.一个 Locale 对象包含 3 个主要元件:language.country.variant java. ...
- shell启动执行cypher语句
1.跳转到目录:cd /data/soft/neo4j-community-not/ 2.修改配置文件:nano ./conf/neo4j.conf: 3. 登录:bin/cypher-shell - ...
- vue中的import、export、requre的区别
在es6之前js一直没有自己的模块语法,为了解决这种尴尬就有了require.js的出现.在es6发布之后js又引入了import的概念使得不清楚两者之间的区别的同学在实际使用过程中造成了自己的误解, ...
- Vue post提交
vue中的axios 是不直接支持post方法的,所以我们得绕一下路,我目前在登录的时候运用到了,服务器端用php,可以收到数据 let param = new URLSearchParams(); ...
- DOM追加笔记
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点: 整个文档是一个文档节点 每个 HTML 元素是元素节点 HTML 元素内的文本是文本节点 每个 HTML 属性是属性节点 ...
- Ubuntu 利用 crontab 和 notify-send 定时发送桌面通知,提示该休息啦
[经测试,每隔多少分钟执行并不像自己想象的一样] 比如:每隔50分钟执行一次提醒 */50 * * * * export DISPLAY=:0.0; notify-send -i /home ...
- JavaScript基础视频教程总结(011-020章)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- android-基础编程-ToolBar
Android 3.0 Android 推了 ActionBar 这个控件,而到了2013 年 (4.0)Google 开始大力地推动所谓的 android style,material desig ...