java基础1~5
java程序运行机制
类型
- 编译型
操作系统,C语言或c++ - 解释型
网页,速度, JAVA
JAVA先编译再解释,既有编译型特征又有解释型特征
标识符
JAVA所有的组成部分都需要名字,类名,变量名,以及方法名都被称为标识符
标识符注意点
所有的标识符都应该以字母,美元符,或者下划线开始
首字符之后可以是字母,美元符,下划线,或数字的任何字符组合
不能使用关键字,作为变量名或方法名
标识符是大小写敏感的
合法举例:age,$salary,_value,__1_value
非法举例:123abc,-salary,#abc
可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音很low
数据类型
强类型语言
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
弱类型语言
JAVA的数据类型分为两大类
1 本类型:数值类型(整数类型,浮点类型,字符类型和char占两个字节),boolean类型
引用类型
2. 类,接口,数组
什么是字节?
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1B(byte,字节)=8bit(位)
1bit表示一位
1Byet表示一个字节1B=8b
1204B=1KB
1204KB=1M
1024M=1G
变量
值类函数
-
整数类型
byte型占一个字节范围:-128~127
short型占两个字节范围:-32768~32767
int 型占四个字节范围:-2147483648~2147483647
long型占八个字节范围:-9223372036854775808~9223372036854775807
一般在用long型的 时候会在数字后面加L
如:long num1 = 10L;
整数拓展:进制: 二进制(0b),十进制,八进制(0),十六进制(0x);
如 int i = 10;
int i2 = 010;
int i3 = 0x10; 0~9 A~F 16
输出: i = 10;
i2 = 8;
i3 = 16;
因此: 0x 11= 17; -
浮点型
浮点数:
float型占四个字节
一般在使用的时候在float 型后面加F;
double型占八个字节
拓展:float:有限,离散,舍入误差,大约,接近但不等 于 所以最好完全避免使用浮点数进行比较,因此,如果要算银行的钱要用类(BigDecimal)去比较(数学工具类) -
字符型
char型占两个字节
只能使一个字符
如:char name =‘A;’
string是字符串
字符串不是关键字,是类名
如:string num = "name";
拓展:
强制转换:
例:char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.printlin((int)c2);
输出结果:
a
97
中
20013
因此:所有的字符本质还是数字(编码:Unicode 编码,两个字节,65536,Excel,C语言课本(aks表)) -
布尔值:是非\对错
boolean = turn;
boolean = false;
布尔值只有两个值,turn或false
布尔值拓展:
Boolean flag = turn;
if (flat == turn) { }//新手
if (flat){}//老手 -
变量名 + 变量类型不能改
如 string = 10; int = "name";这是错误的输出
字符型:int , long , long long -
转义字符
/t 制表符(空格之类的)
/n换行
等等
原文地址:https://www.cnblogs.com/baiyangguangcaicai/p/14999913.html
- springmvc学习笔记--json--返回json的日期格式问题
- springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
- velocity的一些用法
- String.split()用法以及特殊分隔符注意,ps:|
- Mybatis在idea中错误:Invalid bound statement (not found)
- java字符编码和oracle乱码
- ehcache报错
- java继承覆盖与向上转型,权限
- java变量的加载顺序
- java类的初始化和对象的创建顺序
- 附近的人位置距离计算方法
- java中复制对象通过反射或序列化
- Java String.split()用法小结
- java线程(2)--同步和锁
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 究竟!为什么处理排序后的数组比没有排序的快?想过没有?
- 2020 年最牛逼的 10 门编程语言
- Nginx系列:Nginx源码安装
- Nginx系列:负载均衡
- low版爬虫脚本,Python简单图片爬虫案例
- 漫画:什么是计数排序?
- SEO工具脚本,Python百度普通收录API提交工具
- Elastic Stack 实现日志的自动采集、搜索和分析
- 致开发人员:沉迷面向对象编程不可自拔?函数式编程了解一下
- MySQL空间函数实现位置打卡
- 单细胞交响乐8-marker基因检测
- 用TensorFlow.js在浏览器中进行实时语义分割 | MixLab算法系列
- python实现高性能mock服务
- 数据可视、语义分割、T_Youtube、智能调酒 | Mixlab人工智能合集
- Appium自动化测试框架探索与实践