java
程序
程序=算法+数据结构
用户使用编程预言实现问题域到解决域的映射,细节描述就是算法
汇编语言----贴近于物理设备,一种偏向机器的语言
高级语言----C#、java----更偏向于人类自然语言----要将编译的程序编译成计算机可识别的01码
java的三大体系
javaSE: java标准版
javaEE:java企业级开发
javaME:移动端开发
java标识符
用来取名字的,例如:类名,参数名,属性名,方法名
标识符的结构:
26个大小写字母构成,数字,下划线,$,不能以数字开头,不能使用关键字和保留字
关键字:
package,import,class public protected,private,byte,short,int,long,float,double,char,boolean,true,false,if else,switch,case,break,default,for,while,do,break,continue,new,void return,static,final,null,extends,this,super,abstract,interface,implements,instanceof,tra,try,catch finally,transient,synchronized,enum。
保留字:
goto const
注释符
注释是给程序员看的,在 .class 文件里不会生成注释
单行注释符 // 内容
多行注释符 /* 内容 */
文本注释符 /** 内容 */
文本注释符是用来生成帮助文档的。在 类,属性,方法上面写对应的解释,用生成文档指令(javadoc)可以生成帮助文档。
多行注释不能和文本注释嵌套使用
基本数据类型
整数类型
//byte:字节 1字节 -128 ~ 127
//short:短整型 2字节 -2^15 ~ 2^15-1
//int:整型 4字节 -2^31 ~ 2^31-1
//long:长整型 8字节 -2^61 ~ 2^61-1
浮点数类型
//float:单精度浮点型 4字节 小数有效位7位
//double:双精度浮点型 8字节 小数有效位15位
在java中看到的整数都是int类型,看到的小数都是double类型
字符类型
//char:字符类型 0 ~ 65535 用16进制的unicode码 /uxxxx 储存一个字符
ASCll码,每个字符都有一个数值与之对应
A-Z: 65-90
a-z: 97-122
boolean
//true 真值
//fasle 假值
非假即为真,非真即为假
运算符
算数运算符
/*
+ 加法运算符
- 减法运算符
* 乘除运算符
/ 除法运算符
% 取模运算符(取余数)
++ 自身加1
-- 自身减1
*/
对于byte 和 short 类型 ,运算后的结果是 int 类型,含有其余类型的运算,其结果是参与运算中类型范围最大的类型
赋值运算符
/*
= 将运算符右边的结果赋值给左边的变量
+= 将运算符左边的变量加运算符右边的式子的结果,赋值给左边变量
-= 将运算符左边的变量减运算符右边的式子的结果,赋值给左边变量
*= 将运算符左边的变量乘运算符右边的式子的结果,赋值给左边变量
/= 将运算符左边的变量除运算符右边的式子的结果,赋值给左边变量
%= 将运算符左边的变量对运算符右边的式子的取模的结果,赋值给左边变量
*/
比较运算符
/*
== 等于,比较运算符两边式子的结果是否相等
!= 不等于,比较运算符两边式子的结果是否不相等
< 小于,比较运算符左边式子结果是否小于右边式子结果
<= 小于等于,比较运算符左边式子结果是否小于或等于右边式子结果
> 大于,比较运算符左边式子结果是否大于右边式子结果
>= 大于等于,比较运算符左边式子结果是否大于或等于右边式子结果
*/
比较运算符最后返回的值一定是boolean类型的值,即true 或者 false
逻辑运算符
/*
&& 短路与,全部为真,其结果才为真。如果前面为假,其结果为假,就不会去运行后面的代码
|| 短路或,只要有一个为真,其结果就为真。如果前面为真,其结果已经为真,不会去运行后面的代码
& 与,全部为真,其结果才为真。前后代码都运行
| 或,只要有一个为真,其结果就为真。前后代码都运行
! 非,非假即为真,非真即为假
*/
逻辑运算符最后返回的值一定是boolean类型的值,即true 或者 false
三目运算符
//(表达式1)? (表达式2): (表达式3)
表达式1 : 返回值是boolean类型的表达式,
表达式2 : 当表达式1值为 true 时执行表达式2
表达式3 :当表达式1值为 false 时执行表达式3
位运算符
在计算机中数据是以补码的形式存在的
比如:3 | -3(以一个字节为例)
原码:0000 0011 | 1000 0011
反码:0000 0011 | 1111 1100
补码:0000 0100 | 1111 1101
3 | -3 | |
---|---|---|
原码 | 0000 0011 | 1000 0011 |
反码 | 0000 0011 | 1111 1100 |
补码 | 0000 0100 | 1111 1101 |
即正数的原码、反码、补码都一样。负数的原码:为数对应的二进制,反码:除符号位外,其他位取反,补码:为反码加1
/*
& 按位与
| 按位或
^ 按位异或
~ 取反
*/
包
包的一般命名格式
1、不能使用java开头
2、域名.公司名.项目名.模块名
如:
com.baidu.shopping.contrller