第一章
什么是Java
Java是一门面向对象的编程语言
编程语言:计算机可以识别的语言。
JVM:Java虚拟机,运行Java的必备工具
JRE: Java运行环境,运行Java的必备环境
JDK: Java的开发工具包
Java的三大版本
- JavaSE Java基础版 重中之重
- JAVAEE Java进阶版 做网站的必备技术
- JAVAME Java进阶版 已过时
Java的开发工具
开发工具 | 优点 | 缺点 |
Eclipse | 免费,简单 | 功能少 |
Idea | 功能多 | 收费,使用复杂,破解复杂 |
目录说明
第一层:project 表示项目名,例如goods_manage_system(商品管理) demo2201(演示2201)
第二层:JRE(Java的必备运行环境)和src(存放源代码的地方)
第三层:package(包),方便分类管理若干个源代码文件,一般使用公司域名倒写。
第四层:类,.java后缀的文件,java程序的源代码
命名规范
项目名:纯小写,不包含中文。多个单词用下划线隔开即可
包名:公司域名倒写。例如com.yyzy.test
类名:大驼峰命名法。每个单词的首字母均大写。多个单词直接拼接,通过大写区分。
Java注释分类
1.单行注释。把当前行注释掉 例如: // 注释内容
2.多行注释。把多行都注释。虽然可以使用多个单行注释来代替 /* */
3.文档注释。和多行注释类似,用途较少,一般是写文档用的 /** */
第一个源文件的相关意义
package com.yyzy.test; //上述一行代码,是每个类(一个Java源文件)都必备的 //表示这个类在哪个包(路径)下 /* 每个类的模板都是以下格式:其中Xxx必须和类名(源文件名)保持一致 public class Xxx { //若干代码 } */ // Java源代码的运行入口(从哪里开始运行):都是如下格式: /* public static void main(String[] args) { //这里的第一行就是运行的第一行代码 } //以上方法又称为:main方法 */ //System.out.println("我的第一个Java程序"); 表示打印制定的内容 //如果是字符记得加双引号 public class Test1 { public static void main(String[] args) { System.out.println("我的第一个Java程序"); } } |
八大数据类型
数字类型: byte short int long
字符类型: char
布尔类型: boolean
浮点类型: float double
如何声明一个数据
- 记得在main方法里面写。
- 语法: 数据类型 变量名 = 变量值;
- 变量名的命名规范:小驼峰命名法:首字母小写。后续每个单词的首字母大写。
//如何声明数据: 语法: 数据类型 变量名 = 变量值; //例如声明一个年龄为18岁 byte abc = 18;//abc表示我的年龄 short age2 = 18; int age3 = 18; long age4 = 18; //字符类型:只能声明单个字符。用单引号声明即可 //例如声明性别: char sex = '男'; //例如钱包余额 如果用float存放小数,记得在后面补上f float money = 11.5f; double money123 = 115.55; //布尔类型:只能存放true或false 不用加引号 //你是猪吗? boolean isPig = true; |
常见的运算符
//java中常见的运算符 //1.赋值运算符 = 将右边的值赋值给左边 // int a = 123; // int b = a; // System.out.println(a); // System.out.println(b); //算术运算符 + - * / // int a = 10; // int b = 11; // System.out.println(a+b); //算术运算符 % 取余数 // System.out.println(10%3);//1 //算术运算符 ++ -- //语法 a++ 和 a-- 表示先用(执行)在加或减 // int a = 10; // a++; // System.out.println(a);//11 // int a = 10; // System.out.println(a++);//10 //语法: --a ++a 先加减再用 // int a = 10; // --a; // System.out.println(a);//9 // int b = 10; // ++b; // System.out.println(b);//11 //关系运算符: //> >= < <= == != 他们的返回值都是boolean类型 // int a = 10; // int b = 9; // System.out.println(a>b); //逻辑运算符 && 短路与 || 短路或 // 语法如下: 表达式1 && 表达式2 //两个表达式都是true 才返回true //如果一个为false 那么结果就是false //运算从左到右。所以如果第一个式子为false 将不会执行第二个式子。 // int a = 10; // int b = 9 ; // System.out.println(a>b && b<a);//true // System.out.println(a>b && b++<a);//true // || 短路或 // 语法如下: 表达式1 || 表达式2 //两个表达式都是false 才返回false //如果一个为true 那么结果就是true //运算从左到右。所以如果第一个式子为true 将不会执行第二个式子。 //& 和 | : //和上述用法完全一致,唯一区别:没有短路功能 //&和| 左右两边的式子都会执行 //三元表达式:语法:表达式1?值1:值2 //表示:如果表达式1为true就是值1 反之就是值2 // int age = 20; // System.out.println(age>18?"成年":"未成年"); |
if-else分支
1.if语句
if (condition){
当条件为 true 时执行的代码
}
2.if…else…语句
if (condition) {
当条件为 true 时执行的代码
} else
{ 当条件不为 true 时执行的代码
}
3.嵌套式的if…else…语句
if (condition)
{
if (condition){
当条件为 true 时执行的代码
}
else{
当条件不为 true 时执行的代码
}
}
else(condition)
{
当条件不为 true 时执行的代码
}
4.if…else if…else 语句
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
switch-case分支
如果碰到有多种分支,那么不适合使用if,而是使用switch-case。
语法如下:
switch(表达式){//只允许存放byte,short,int,char,String类型
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
case 常量3:
语句3;
break;
case 常量4:
语句4;
break;
default:
语句5;
break;
}
三大循环
循环主要分为三种:for循环,while循环,do-while循环。三种循环可以互相代替。
for循环
for(初始化表达式;条件表达式;累加器){
循环体
}
注意事项:for循环的执行顺序。
注意事项:有无大括号的执行顺序
while循环
while(条件表达式){
循环体
}
do
do{
循环体;
}while (boolean表达式);
数组
Java中的数组可以存储多个类型相同的数值的一个容器。
有以下特点:
1、Java语言中的数组是一种 引用数据类型。不属于基本数据类型。
2、数组实际上是一个容器,可以同时容纳多个元素。
3、数组一旦创建,长度不可变。
创建数组的方式:静态初始化 和 动态初始化
书写格式
元素类型[] 数组名 = new 元素类型[]{元素,元素,元素……};
格式1
int [] arr = new int[5];
需要手动赋值
arr[0]=1;
格式2
int [] arr = new int[]{1,3,5,7}
格式3
int[]arr = {1,3,5,7};
方法
如果某一段代码需要经常使用,那么建议将其放在方法内部。调用的时候,只需要通过方法调用即可。
方法分为两大类:
- 没有返回值的方法
- 有返回值的方法
定义
单个参数:
public static void 方法名(参数){...........}
多个参数:
public static void 方法名(参数1,参数2,参数3,...){..............}
调用
单个参数:
方法名(参数);
多个参数:
方法名(参数1,参数2,参数3,...)
类与对象
什么是类: 类翻译:class 1.凡是一个.java后缀修饰的文件都是一个类 2.每个java文件中可以存在多个类。语法如下 class Xxx { } 3.每个Java文件有且只能有一个被public修饰的类,且必须和文件名一致。 一般来说:类的组成:A.属性 B.方法 什么是对象: 对象就是类的实例化 什么是实例化:将类进行new操作。 例如: 类名 变量名 = new 类名(); Test t = new Test(); 称之为:t为Test类的实例化对象。 实例化之后的对象可以:对类的属性或方法进行访问调用。
为什么要将以上代码分开写?而不写在同一个类里。 1.方便管理阅读,如果代码量一多起来,放在一个类里面更加困难进行阅读。 2.各司其职 每个类都有每个类的作用。 3.例如:我们现在所学的 测试类(有main方法的就叫测试类) 那么测试类的规范:只需要执行代码。不需要过程代码。 例如只需要调用方法,不需要操心方法内部是什么。 一般而言测试类都是放在com.yyzy.test包下 包package的作用:将代码进行分类。 常见的包:com.yyzy.test包 今日所学:工具包和工具类 简称util 何为工具包:存放工具类的包 何为工具类:可以被复用的方法。 例如将密码进行加密。 将所有的大写字母变成小写字母 计算N个数之和。 将数组进行排序。等等 思考:登录方法是不是工具类? 答:不是,登录是业务类。 今日所学:实体类和实体包 简称entity 何为实体包:存放实体类的包 何为实体类:世间万物抽象的存在,例如一个人,一个猫,一张银行卡 等拥有很多属性的类。例如淘宝上的所有商品,例如微信的所有登录用户。