【Java笔记】Week01 -- JavaSE基础语法
来源:互联网 发布:政府数据共享交换 2017 编辑:程序博客网 时间:2024/06/05 00:40
# JAVASE基础(一) #
一.Java概述
- 1.Java开发方向
a. javaSE: java来做桌面程序开发
b. javaEE: web方向开发
c. javaME: 嵌入式开发 - 2.Java开发工具(IDE)
a. notepad++
b. 记事本
c. Eclipse
d. Myeclipse 3.JDK安装和环境变量配置
- JDK安装要注意系统是32位还是64位。
- JDK三大部分
a. Bin:目录下面是JDK提供的一些工具
b. jre :下面是运行环境
c. jdk提供的一些类库 - 环境变量配置
Path: 变量值为JDK安装的bin目录。配置目的是为了cmd可以找到Path下的文件.
4.java程序编译和执行
- 编译:
a. *.java 源文件 : bin\ 目录下 javac.exe 去进行编译
b. 编译之后产生*.class字节码.
c. bin\目录下 java.exe 执行*.class. - 执行:
执行java.exe之后, 会帮我们把字节码文件加载到 JVM 运
- 编译:
二.Java基础语法 - 关键字、标识符、常量、变量
1.关键字
- 关键字是被Java赋予特殊含义的单词(字母全部小写)
- Notepad++等工具对关键字有特殊颜色标记
2.标识符
- 标识符就是就是给类,接口,方法,变量等起名字时使用的字符序列
- 组成规则:
a. 英文大小写字母
b. 数字字符
c. $ 和 _ - 命名注意事项:
a. 不能出现Java中的关键字
b.不能以数字开头
c. 严格区分大小写 - 命名举例:
a. 包的命名:公司域名反写,多级包中间用.隔开。
b.类和接口的命名:首字母大写
c. 变量和方法的命名:第二个单词后首字母大写
d. 常量的命名:字母全大写,单词之间下划线隔开
- 3.常量
- 常量就是执行过程中不发生改变的量,
- 字面值常量
a. 字符串常量: “…” 双引号后的 + 为拼接符,不是运算符
b. 字符: ‘A’,’a’ 参与运算时作为ASCII码参与运算
c. 数字常量: 1 ,2,3,1.2,1.5
d.布尔常量:true/false
e.空常量:null
//字符串后面拼接符的举例 //字符串常量 System.out.println("helloworld"); //字符串 +(拼接符号) 任何数据 = 字符串 System.out.println("helloworld"+'a'+1);//helloworlda1 System.out.println('a'+1+"helloworld");//98helloworld System.out.println("5+5="+5+5);//5+5=55 System.out.println(5+5+"=5+5");//10=5+5
4.进制
a. 二进制:由0,1组成。以0b开头
b. 八进制:由0,1,…7组成。以0开头
c. 十进制:由0,1,…9组成。整数默认是十进制的
d. 十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头5.变量
- 变量就是在程序执行的过程中,在某个范围内其值可以发生改变的量
- 定义格式: 数据类型 变量名 = 数据值;
- 基本数据类型
- 整数类型:
a. byte 字节类型 占用一个字节(-128 ~ 127)
b. short 短整型 占用2个字节
c. int 整型 占用4个字节
d. long 长整型 占用8个字节(定义时变量值后加L/l) - 浮点类型
a. float 单精度 占用4个字节(定义时后加f/F)
b. double 双精度 占用8个字节 - 字符类型
a. char 字符类型 占用2个字节 - 布尔类型
a. boolean 默认值为 false - 注意事项:
a. 变量不能重复定义
b. 注意发生的类型转换
- 整数类型:
byte b1 = 3,b2 = 4 ,b ; b = b1 + b2 ; //错误的:byte类型不可能接收一个int类型的值 b = (byte)(b1 + b2) ; b = 3 + 4 ; System.out.println("b:"+b);
三.Java基础语法 - 运算符
- 1.算术运算符
- +,-,*,/,%,++,–
- 自增,自减运算
a. ++,–在数据的前面,先自增1或者自减1,然后在运算(赋值)
b. ++,–在数据的后面.先运算(先赋值),然后自增1或者自减1
- 2.赋值运算符
- 基本: =
- 拓展: += -= *= /= %=
拓展运算符隐藏了默认的强制类型转换
//定义变量,第一段代码有问题,没有考虑类型转换 short s =1 ; s = (s + 1) ; //下面的代码没有问题,因为运算符默认进行了类型转换 short s = 1 ; s += 1 ; System.out.println(s);
- 3.比较运算符
- 关系运算符 <,>,<=,>=,==,!=
- 符号连接的表达式结果都是boolean类型
- 4.逻辑运算符
- 通过逻辑符号来连接boolean的表达式或者值;
- 基本运算符
逻辑单与:& 特点:有false,则false
逻辑单或:| 特点:有true,则true
逻辑异或:^ 特点:相同则为false,不同则为true
逻辑非:! 非false,则true,非true则false
- 扩展运算符
逻辑双与:&& 连接表达式左边为false,右边不执行
逻辑双或:|| 连接表达式左边为true,右边不执行
// boolean flag = (((++x)==4) && ((--y)==5)); boolean flag = (((++x)==3) && ((--y)==5));//左边表达式是false,则右边不执行! System.out.println("x:"+x);//4,4 System.out.println("y:"+y);//3,4 System.out.println("flag:"+flag);//false,false
- 5.位运算符
- 位与:&
- 特点:有0则0
- 位或|:
- 特点:有1,则1
- 位异或:^
- 特点:相同则为0,不同则为1
- 一个数位异或两次还是它本身
- 反码:~
- 特点:按位取反(底层对补码进行按位取反)
- <<:左移,最左边的最高符号为丢弃,右边补齐0
- 结果为符号左边的数乘2的移动次数次幂
- >>:右移,最高符号位为0,左边补0,最高符号位为1,左边补齐1
- 结果为该符号左边的数据除以2的移动次数次幂
- >>>:无符号右移:不管最高符号位是0还是1,左边补齐0
- 位运算符应用实例:见如下代码
- 位与:&
//请用最有效的方式计算出2*8的结果; //特点:该符号左边的数据*2的移动次幂 System.out.println(3<<2); //特点:该符号左边的数据除以2的移动次幂 System.out.println(24>>2); System.out.println(-24>>>2);`
- 三元运算符
- (表达式)? true的结果 : false的结果;
- 实例:求三个数的最大值
//求三个数据中的最大值 int m = 10 ; int n = 50 ; int z = 20 ; //可以使用中间第三方变量进行实现,实际开发中就使用第三方进行实现 int temp = (m>n) ? m : n ; //定义max2 int max2 = (temp > z) ? temp : z ; //一步走: int max2 = (m>n) ? ((m>z)? m: z) : ((n>z)? n: z) ;//不建议使用
四.Java基础语法 - 键盘录入数据
- Scanner类
- 键盘录入步骤:
- A:创建键盘录入对象:Scanner类: java.util包下的类
固定格式:Scanner sc = new Scanner(System.in);
- B:导包:位置:class和package中间
import java.util.Scanner;
- C:录入数据:使用对象名调用方法
int a = sc.nextInt();
- D:输出
- A:创建键盘录入对象:Scanner类: java.util包下的类
- 键盘录入实例
- 键盘录入步骤:
//1)创建键盘录入对象 Scanner sc = new Scanner(System.in) ; //2)录入数据 //提示 System.out.println("请输入第一个数据:"); int firstNumber = sc.nextInt() ; System.out.println("请输入第二个数据:"); int secondNumber = sc.nextInt() ; //定义个最终变量 int result = firstNumber + secondNumber ; System.out.println("result:"+result);
第一周的学习就到这里了期待下一周对java语法的深入学习
阅读全文
0 0
- 【Java笔记】Week01 -- JavaSE基础语法
- Javase 基础语法注意笔记
- 学习笔记之JavaSE(2)--Java基础语法1
- 学习笔记之JavaSE(3)--Java基础语法2
- 学习笔记之JavaSE(4)--Java基础语法3
- 学习笔记之JavaSE(5)--Java基础语法4
- 学习笔记之JavaSE(6)--Java基础语法5
- 学习笔记之JavaSE(7)--Java基础语法6
- 学习笔记之JavaSE(8)--Java基础语法7
- 学习笔记之JavaSE(9)--Java基础语法8
- 【Java笔记】Week02 -- JavaSE基础语法、OOP基础知识
- JavaSE学习笔记之-----基础语法
- JavaSE(1):java基础知识及基础语法
- JavaSE——java语法基础(-)
- JavaSE-java语法基础(二)
- JavaSe总结-02--Java基础语法(1)
- JavaSe总结-03--Java基础语法(2)
- JavaSe总结-04--Java基础语法(3)
- Double类parseDouble()和valueOf()方法的区别
- transition实现焦点图切换
- 原来EXECL可以这么玩
- Redis 命令精要--key相关命令
- 训练py-faster-rcnn
- 【Java笔记】Week01 -- JavaSE基础语法
- 公司遗留技术问题
- make缺省规则
- vue.js select下拉框绑定和取值
- 【Java集合类】HashSet解析
- 笔记:Newtonjson.Json自定义输出那些属性
- mybatis一对一
- Android扫一扫Zxing之基础依赖
- Linux 基本操作(一)————认识命令行、基础命令、快捷键