注释
作用:
- 可以用来对代码的说明
- 可以用来注释代码,被注释的代码在程序运行时,不会执行。
单行注释
单行注释:用//
表示。
点击查看代码
public String hello(Model model){
// 这是单行注释,对代码的解释说明
model.addAttribute("msg","test_thymeleaf");
// System.out.println("调试中....");
return "a";
}
}
多行注释
多行注释:用/*..*/
表示。
点击查看代码
public static void say(){
/*
这是演示代码
可以注释多行文字
*/
System.out.println("演示代码...");
/*
String name = "mark";
int age = 18;
System.out.println(name);
*/
System.out.println(age);
}
文档注释
文档注释:对程序功能类、方法等做一些说明。用/**...*/
表示。
点击查看代码
/**
* 这是一个**的方法说明
* @param model 参数
* @return 返回值
*/
@RequestMapping("/hello")
public String hello(Model model){
// 这是单行注释
model.addAttribute("msg","test_thymeleaf");
// System.out.println("调试中....");
return "a";
}
标识符、关键字
java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
标识符注意点
- 所有标识符都应该以字母(A-Z或者a-z),美元符$,或者下划线_开始。
- 首字符之后可以是字母(A-Z或者a-z),美元符$,或者下划线_或数字的任何字符组合。
- 不能使用关键字作为变量名或方法名。
- 标识符大小写敏感。
数据类型
java是一种强类型语言,要求变量使用严格符合规定,所有变量必须先定义后使用。
分类
基本类型
- 数值型
- 整数类型
- byte 占一个字节范围:-128 ~ 127;
- short 占2个字节范围: -2e16 ~ 2e16;
- int 占4个字节范围: -2e32 ~ 2e32;
- long 占8个字节范围: -2e64 ~ 2e64;
- 浮点型
- float 占4个字节范围:-2e32 ~ 2e32;
- double 占8个字节范围:-2e64 ~ 2e64;
- 字符型
- char 占2个字节范围:-2e16 ~ 2e16;
- 整数类型
- boolea类型
- true
- false
什么是字节?
位(bit):计算机内部数据存储的最小单位,11001100 是一个八位的二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B表示。
1B(byte)= 8 bit(位);
字符:是指计算机中使用的字母、数字、字和符号。
换算:
1bit表示1位
1B=8bit;
1KB=1024B;
1MB=1024KB;
1GB=1024MB;
1TB=1024GB;
引用类型
- 类
- 接口
- 数组
字符串属于引用类型
数据类型转换
由于java是强类型语言,所以在进行某些数学运算的时候,需要做类型转换。
低---------------------------------------------------->高
byte,short,char --> int --> long --> float --> double
运算时,需要将不同类型转换成同一类型,然后再做运算。
注意点
- 不能对布尔类型进行转换。
- 不能把对象类型转换为不相干的类型。
- 在把高容量转换到低容量的时候,强制转换。
- 转换的时候可能存在内存溢出,或者精度问题。
强制类型转换
从高位----> 低位
自动类型转换
从低位----> 高位
变量
- java是强类型语言,每个变量都必须声明类型。
- java变量是程序中最基本的存储单元,其要素包括:变量名、变量类型 和 作用域。
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
- 变量必须是合法的标识符。
- 变量声明是一条完整的语句,因此每个声明都必须以
;
号结束。
例如:
点击查看代码
String name = "张三";
int age = 18;
变量作用域
- 类变量
- 实例变量
- 局部变量
类变量
定义在类中,方法体外且由关键字
static
修饰的标识符,从属于类,调用方式类名.变量名
。
点击查看代码
public class Demo{
// 类变量 name
static String name;
public static void main(String[] args){
// 类变量调用方式:类名.变量名
System.out.println(Demo.name);
}
}
实例变量
定义在类中,方法体之外的标识符,从属于对象,调用方式
对象名.变量名
。
如不自行初始化,对应类型的变量初始化值为:
int
默认0.0
;boolean
默认false
;- 除基本类型,其余默认都是
null
;
点击查看代码
public class Demo{
// 类变量 name
static String name;
public static void main(String[] args){
// 实例化一个对象
Demo demo = new Demo();
// 调用方式:对象名.变量名
System.out.println(demo.name);
}
}
局部变量
定义在方法中的标识符,从属于方法,只在方法中有效。
点击查看代码
public class Demo{
// 类变量 name
static String name;
public static void main(String[] args){
// 实例化一个对象
Demo demo = new Demo();
// 调用方式:对象名.变量名
System.out.println(demo.name);
}
public void say(){
// age 只在方法中有效,并且变量名age必须初始化才可使用。
int age = 18;
System.out.println(age);
}
}
常量
初始化后不能再改变值,不会变动的值。是一种特殊的变量,一般用关键字
final
修饰,常量一般大写表示。
变量命名规范
- 所有变量、方法、类名:见名知意。
- 类成员变量:首字母小写和驼峰原则:
monthSalary
。 - 局部变量:首字母小写和驼峰原则。
- 常量:大写字母和下划线:
MAX_VALUE
。 - 类名:首字母大写和驼峰原则:
Man
,GoodMan
。 - 方法名:首字母小写和驼峰原则:
run()
,RunUp()
。
运算符
java支持以下运算符:
- 算数运算符:+、-、*、/、%、++、--
- 赋值运算符:=
- 关系运算符:>,<,>=,<=,==,!=,instanceof
- 逻辑运算符:&&、||、!
- 条件运算符:?
- 扩展赋值运算符:+=、-=、*=、/=
- 位运算符:&、|、^、~、>>、<<、>>> (了解!)
三元运算符(条件运算符):x ? y : z
x == true,返回 y,否则返回 z
运算符的优先级最高的是()
,所以要表示最高优先运算用()
操作
java程序结构-顺序结构
- java程序最基本的结构是 顺序结构,除非特别指明,否则就按照顺序一步一步的往下执行。
- 顺序结构是最简单的算法结构。
- 语句与语句之间,框架与框架之间是按照从上到下的顺序进行的。它是由若干个依次执行的步骤组成的。
java程序结构-选择结构
- 程序运行过程中,需要根据不同的判断,实现不同的业务逻辑。此时就需要用到选择结构。java常见的选择结构有:
- if单选择结构
- if双选择结构
- if多选择结构
- 嵌套的if结构
- switch多选择结构
if单选择结构
点击查看代码
语法:
if(布尔表达式){
//如果布尔表达式为true将执行
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容: ");
String s = scanner.nextLine();
// 如果输入的字符串是"hello",则输出s,否则不执行if当中的语句
if (s.equals("hello")) {
System.out.println(s);
}
System.out.println("end");
scanner.close();
}
if双选择结构
点击查看代码
语法:
if(表达式){
// 为true,执行...
}else{
// if表达式为false,执行...
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容: ");
String s = scanner.nextLine();
if (s.equals("hello")) {
System.out.println(s);
}else{
System.out.println("输入错误");
}
scanner.close();
}
if多选择结构
多选择条件时,只要有一个条件满足,程序就走这个满足条件的语句,其他条件不会走。
点击查看代码
语法:
if(表达式1){
//表达式1 true,执行....
}else if(表达式2){
//表达式2 true,执行...
}else if(表达式3){
//表达式3 true,执行...
}else{
//上述条件都不满足时,执行....
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数: ");
int score = scanner.nextInt();
if (score>=90) {
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if(score>=70){
System.out.println("中等");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
嵌套if结构
点击查看代码
语法:
if(表达式1){
// if嵌套
if(表达式2){
//表达式2 true,执行....
}
}
switch多选择结构
switch case
语句判断一个变量与一系列值中的某个值是否相等,每个值被看做一个分支。switch
语句中的变量类型可以是byte
,short
,int
或者char
。- java SE7开始变量类型还支持
String
类型。- break 防止case穿透。
点击查看代码
语法:
switch(表达式){
case value1:
语句1...
break;
case value2:
语句2...
break;
case value3:
语句3...
break;
...
default: //这步可选
语句...
}
public static void main(String[] args) {
char gen = 'C';
switch (gen){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println("挂科");
break;
}
}
java程序结构-循环结构
- 在程序执行过程中,需要对某些业务做循环操作,可以使用循环结构。java常见的循环结构有:
while
循环do..while
循环for
循环,java SE5后还引入了针对数组的增强型for
循环。
while循环
while
循环是最基本的循环结构。- 一般情况下我们都会让程序循环停止下来,所以我们需要一个表达式来结束循环。
- 条件一直为true时,很容易造成死循环。
点击查看代码
语法:
while(表达式){
//条件为true,执行语句...
}
public static void main(String[] args) {
int i = 0;
//表达式条件
while (i < 10) {
i++;
System.out.println(i);
}
}