java-基本语法
来源:互联网 发布:getting windows ready 编辑:程序博客网 时间:2024/06/08 14:39
即便是不同种类语言,它的基本语法都大同小异.
关键字
被java赋予了特殊了语义,用来做专门的用途的单词.
关键字中所有字母都是小写.
比如:
保留字
当前版本尚未有何特殊含义.未来可能作为关键字.
// 比如cast var const outer
标识符
凡是自己可以起名字的地方都可以叫做标识符.
如: 变量,方法,类.
标识符的定义规则:
- 大小写字母,0-9,_或者$
- 数字不可以开头
- 不可以使用关键字和保留字,但是可以包含关键字与保留字
- 严格区分大小写,无长度限制
- 标识符不可以包含空格
- 尽量起名语义化
java的基本命名规范
包名: 多单词组成时候所有字母都小写
类名/接口名: 多单词组成时候,首字母大写
变量名/方法名: 多单词组成时候,首字母小写,后面每个词首字母大写
常量名: 所有字母都大写.多单词组成时候,通过”_”连接
变量
变量类型 变量名 = 初始化值
概念与注意事项:
变量可以理解为内存中的一块存储区域,这个区域有自己的名字(变量名),类型(变量类型),该区域的数据可以在该类型内自由变化(再赋值).
java中的变量必须先声明后使用.这与javascript不同.
变量的分类
- 按照数据类型分类
- 整数类型(byte,short ,int,long)
注意:java中整数默认为int.声明long类型,需要加后缀”L”或者”l”
- 浮点类型 (float , double)
java浮点数类型默认为double,声明float类型变量时候需要加后缀”f”或者”F”.
浮点数类型常量的表示方法:
- 十进制数形式 1.2 1.2f
- 科学计数法 5.12e2 5.12e-2
- 字符类型(char)
char类型: 2字节.
字符型常量的表现方法:
1. 字符常量: 通过单引号”括起来的单个字符. char a = ‘文’
2. 通过转义字符’\’把字符转为特殊的字符常量.
3. 使用Unicode值来表示字符常量. ‘\uxxx’
常见的转义字符:
char类型是可以直接进行运算的,因为他们有对应的unicode值.
扩展知识: ASCII 码
在计算机内部,所有数据都是通过二进制来表示,每一个二进制位(bit)都有0和1两种状态,因此8个二进制位就有256种状态.这也叫做一个字节(byte).一个字节256种状态可以对应256个不同符号。
美国在上个世纪60年代,对英语字符与二进制位之间的关系,做出了统一的规定,制定了一套字符编码.就是ASCII 码 — 128个字符的编码.
缺点:
1. 局限性:不能表示所有字符
2. 不具备通用性: 相同的编码在不同国家表示的字符不一样.
扩展知识: Unicode编码
乱码: 因为世界上有很多种编码方式,相同的二进制数字可以被解释成不同的字符,因此我们打开一个文件,就需要知道其编码格式.如果使用错误的e/不匹配的编码格式打开就会产生乱码.
Unicode编码: 把世界上所有编码纳入其中,每个符合都有自己的独一无二的编码,所以使用Unicode编码没有乱码的出现.
缺点:
1. Unicode只规定了符号的二进制代码,却没有制定如何进行存储.无法区分Unicode与ASCII。
2. 计算机无法区分三个字节是表示一个符合还是三个符合
扩展知识: UTF8
UTF8是如今使用最广泛的一种Unicode编码实现方式
UTF8根据不同符合变化字节长度
- 布尔类型
boolean类型: 逻辑运算,流程控制语句.
boolean类型取值: true/false
2.按照声明的位置不同来分类
成员变量与局部变量区别:
- 定义的位置不同
- 成员变量定义在类里面方法外面,可以在整个类中被访问- 局部变量只定义在局部范围内(方法内,代码块内)
- 内存中保存的位置不同
- 成员变量:分为类成员变量,实例成员变量(保存在对象所在的堆内存中)- 局部变量: 保存在栈内存中
- 作用范围不一样
- 成员变量: 作用整个类- 局部变量: 作用范围结束,变量空间自动释放
- 初始化不一样
- 成员变量: 有默认初始化值- 局部变量: 没有默认初始化值.每次必须显示初始化
- 权限修饰符
- 成员变量: 根据实际需要,任意选择- 局部变量: 不指定权限修饰符
基本数据类型转换
- 自动类型转换
概念: 容量小的数据类型自动向容量大的数据类型转换.
数据类型混合时候运算规则:
- 首先把所有数据类型转换为容量最大的那个数据类型,再进行其他运算.- byte/short/char之间不会进行相互转换.他们在进行运算时候统一转为int类型- 任何基本数据类型的值与字符串进行连接运算"+",基本类型的值都会转为字符串.
- 强制类型转换
概念: 自动类型转换的逆过程,把容量大的数据类型转为容量小的数据类型.语法格式:()–> 强制转换符.可能造成精度降低或者溢出.
正常情况下字符串不可以转为基本数据类型.但是通过基本数据类型的包装类可以实现.
String类
典型的不可变类.String类型对象创建出来后就不可以再变化.
String str = "43";int i = Integer.parseInt(str)
boolean类型不可以转换为其他数据类型.
进制
对于整数有四中表示方式:
- 二进制: 0/1 满2进1 以0b/0B开头
- 八进制: 0-7 满8进1 以0开头
- 十进制: 0-9 满10进1
- 十六进制: 0-9 A-F(不区分大小写) 满16进1 以0x/0X开头
理解原码/补码/反码:
// 所有的数字在计算机底层都是以二进制形式存在 // 计算机以补码的形式保存着所有的正数符号位: 0为正 1为负原码: 直接把一个数字转为二进制数反码: 原码的每个位取反(符号为除外)补码: 正数的补码/原码/反码都一样,负数的补码是在反码的基础上每个位+1.
进制间的转换
- 二进制与十进制的转换
- 二进制转十六进制
运算符
- 算术运算符- 赋值运算符- 比较运算符(关系运算符)- 逻辑运算符- 位运算符- 三元运算符
- 算术运算符
- 赋值运算符
"=" : 两侧数据可以进行自动类型转换/强制类型转换 支持连续赋值"+=" "-=" "*=" "/=" "%="
- 比较运算符
- 逻辑运算符
&—逻辑与 | —逻辑或 !—逻辑非&& —短路与 || —短路或 ^ —逻辑异或 // 异或追求的是异
- 位运算符
直接对二进制进行运算.
与运算
或运算
异或运算
- 三元运算符
// 格式(条件表达式)?表达式1: 表达式2;
运算符的有限等级
流程控制语句
跟javascript语法基本一样。
- if 条件判断
- switch(case)
循环结构
- for循环
- while循环
- do while循环
- [java语法]基本语法(8 )语法总结
- Java基本语法
- Java 基本语法
- Java的基本语法
- Java的基本语法
- Java基本语法
- Java基本语法-2
- CoreJava --基本语法--[Java]
- Java基本语法
- Java 基本语法
- Java基本语法
- java基本语法2
- java的基本语法
- Java基本语法
- java基本语法
- Java基本语法注意事项
- java 基本语法汇总:
- java基本语法汇总
- 动态规划系列(1)——金矿模型的理解
- centos7安装rabbitmq
- CI xlsx 文件类型错误, CI上传文件 xlsx 修改类型mimes
- deeplearning4j之卷积神经网络实现
- Python 算法
- java-基本语法
- java多态,如何理解父类引用指向子类对象
- 关于自增、自减运算符的笔记
- 关于WebHDFS与HttpFS
- windows 下杀死进程
- 3.Django-MTV
- (干货)自定义 type="range" type="radio" select的样式
- Centos 6.x Hadoop集群环境搭建
- android 播放视频常见问题