鼠标右键点击桌面的计算机图标——属性——高级——环境变量——系统变量里面找到Path——点击编辑(不要动原有的路径)——在上面添加JDK的bin目录的路径——不同的路径用;(英文分号)隔开,然后确定——添加classpath内容为你的java文件的路径。点击确定 配置完成。
编写工具 使用Notepad++—— 安装目录随便——创建桌面图标——直接安装(安装完成)
打开Notepad++ 选择语言为java 格式为以ANSI格式编码
注释
单行注释 //注释内容
多行注释 /注释内容/
文档注释 /*注释内容/
/*
实现了一个java的HelloWorld程序
实现步骤:
1:定义类
2:定义主方法
3:一条命令,控制台输出了HelloWorld
*/
public class HelloWorld{
//main主方法,固定格式,程序的入口
public static void main(String[] args){
//系统 输出 打印 打印的内容
System.out.println("HelloWorld!");
}
}
什么是关键字
关键字是被java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,public,static,void均为java已经预设好的。
java中的关键字均为小写。
什么是标识符
除了关键字以外基本上都是标识符了,标识符就是名称的意思,所有的名称都统称为标识符,java中经常要定义类、方法、变量,在定义他们的时候总要给它们起名字,这些名字就是标识符。
/*
标识符
java中,自己定义的内容
自定义类的名字,上一个案例HelloWorld
标识符的规则:
组成:字母52个A-Z a-z 数字0-9 下划线 _ 美元符号 $
注意:不能数字开头 不能是关键字
定义名字:
_abc 满足 0abc 不满足 a#a 不满足 a$a 满足 void 不满足
类的名字:首字母大写,第二个单词首字母大写
FenBoLin
MeiGuoJiaLiFuLiYa
方法的名字:首字母小写,每个单词首字母大写
addStudent
*/
//Demo就是一个标识符
public class Demo{
}
什么是数据
用电商来举例,用户就是数据,商品也是数据。
数据处理逻辑
购买商品的流程就是数据处理逻辑
什么是程序
程序就是用来处理数据的
通常数据是会发生变化的,而数据的处理逻辑是不会发生变化的。例如商品的数量种类是会发生变化的,用户数量也是会变化的,单购买流程通常不会变化。
数据类型
基本数据类型:整数 小数 字符 布尔
引用数据类型:数组 类 接口
什么是常量
整数类型
十进制表示方式:正常数字 如 12 53
二进制表示方式:以(0B或0b开头) 如0b1010 、0B1010
十六进制表示方式:以(0X或0x开头) 数字0-9以及A-F组成 如0x23A2 、0xa 、0X10
八进制表示方式:以0开头 如01、07、0721
小数类型
如1.0、-3.15.3.168等
布尔类型
true、false
字符类型
如’a’ ,’A’ ,’O’ ,’家’
字符必须使用‘’包裹,并且其中只能且仅能包含一种字符
字符串类型
字符串String类型是一种引用类型,我们先了解作为常量类型的使用方式
如”我爱java”,”01203”,”“,”null”
字符串必须使用”“包裹,其中可以包含0~N个字符。
/*
Demo_1类,演示Java中的所有类型的常量
程序当中输出:
输出整数常量
小数常量
布尔常量
字符常量
字符串常量
*/
public class Demo_1{
public static void main(String[] args){
//输出整数 十进制
System.out.println(-50);
//输出整数 二进制 数字开头要加0B
System.out.println(0B010110);
//输出整数 八进制 数字开头必须是0
System.out.println(051);
//输出整数 十六进制 数字开头必须是0X 包含了0~9 A~10
System.out.println(0XA);
//输出浮点数据
System.out.println(5.5);
//输出布尔类型,只有两个值,true,false
System.out.println(3==3);
System.out.println(1==2);
//输出字符常量,单引号包裹,只能写一个字符
System.out.println('a');
//输出字符串 双引号包裹 可以写很多 不写也没问题
System.out.println("HelloWorld");
}
}
变量是什么:变量是内存中装载数据的小盒子,你只能用它来存数据和取数据。
计算机的储存单元
计算机储存的最小单位bit(位)
当程序需要使用存储空间时,操作系统最小会分派给程序1个字节,而不是一个位,例如你不可能去商店只买一支烟。
一个字节可以存储8位,最大数据是11111111的二进制数。
除了自己额外还有一些常用的存储单位:
1B(字节)= 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
基本类型之四类八种
八种 字节数 数据表示类型
byte 1 -128~127
short 2 -32768~32767
int 4 -2147483648~2147483648
long 8 -2^63~2^63-1
float 4 -3.403E38~3.403E38
double 8 -1.798E308~1.798E308
char 2 表示一个字符,如(‘a’,’A’,’o’,’家’)
boolean 1 表示两个值true与false
常量根据自身的数据范围确定自己的范围
不过java中默认的是int类型
如果int类型不足以存储 那么要在常量后加L转换为long型 加D转换为double类型。
例如:12345678901L (float类型)
12345678901D (double类型)
变量创建的三要素:
数据类型 变量名 = 数据值;(变量名要满足合法的标识符)
/*
定义java中的变量
定义出所有数据类型的变量
四类八种
*/
public class Variable{
public static void main(String[] args){
//定义整数类型,字节类型,byte类型
//内存中一个字节, -128~127
byte b = 100;
System.out.println(b);
//定义整数类型 短整型 short类型
short a = 200;
System.out.println(a);
//定义整数类型 整形 int类型
//内存中4个字节
int c = 1248412;
System.out.println(c);
//定义整数类型 长整型 long类型
//内存中8个字节
long d = 215645123123L;
System.out.println(d);
//定义浮点类型 单精度 float类型
//类型中4个字节
float f = 1.0F;
System.out.println(f);
//定义浮点数据, 双精度 double类型
double e = 2.2;
System.out.println(e);
//定义字符类型 char
//内存中2个字节 必须用单引号包裹 只能写一个字符
char g = '我';
System.out.println(g);
//定义布尔类型,boolean
//内存中一个字节,数据值,turn,false
boolean bool = true;
System.out.println(bool);
}
}
字符串的定义
/*
常量:字符串,双印号,包裹,"0-N"
*/
public class Variable_1{
public static void main(String[] args){
//定义变量,字符串类型,数据类型 String 表示字符串的数据类型
String s = "I love java";
//String 属于引用数据类型,定义方式,和基本类型一样
System.out.println(s);
}
}
字符串定义的注意事项
/*
变量定义和使用的注意事项
1.变量定义后,不赋值不能使用
2.变量是有自己的作用范围,变量的有效范围是变量定义的一对大括号内
3.不允许重复定义
*/
public class Variable_2{
public static void main(String[] args){
int i = 5;
System.out.println(i);
{
int j = 10;
System.out.println(j);
}
}
}
数据类型的转换
不同的变量可以在一起运算,但是要先转换再运算。
范围小的数据类型值可以直接转换为范围大的数据类型值
范围大的数据类型值不可以直接转换为范围小的数据类型值
转换线
byte–>short–>int–>long–>float–>double
范围大的数据类型 变量 = 范围小的数据类型值;
数据类型的自动转换
/*
数据类型的自动转换
自动:取值范围小的类型,自动转成取值范围大的类型
布尔类型不能转
*/
public class DataConver{
public static void main(String[] args){
//定义double类型的变量
double d = 1000;//出现类型自动转换,int自动转换成double
System.out.println(d);
int i = 100;
double d2 = i;//出现类型自动转换,int自动转换成double
System.out.println(d2);
byte b = 10;
int j = b;//出现类型自动转换,byte自动转换成int
System.out.println(j);
}
}
数据类型的强制转换
/*
数据类型的强制转换
强制:数据类型取值范围大的,转成取值范围小的
数据类型的强制转换,公式
范围小的数据类型 变量 = (范围小的数据类型)范围大的数据类型值
强制类型转换 没有要求的时候 不做
*/
public class DataConver_1{
public static void main(String[] args){
//double浮点,转成整数int
double d = 3.14;
int i = (int)d;
System.out.println(i);
//演示一个溢出转换
byte b = (byte)200;
//输出-56
System.out.println(b);
}
}
运算符中遇到的问题
byte b = 1;
b = (byte)(b+1);
System.out.println(b);
//等同于
byte b1 = 1;
b1+=1;
System.out.println(b1);
/*
上面两种计算方式是一样的
只不过上一种方式在进行运算的时候要把b+1做一个强制转换
因为b+1是一个byte类型和一个int类型运算 最后要赋值给一个byte类型
必然会出现精度损失,所以要在公式里面进行类型的强制转换
*/
比较运算符
比较运算的结果都是boolean类型(只有true或者false)
学完到下午四点半的第一个案例
/*
实现商品库存清单案例
步骤:
1.实现表头,是固定数据,直接写输出语句
2.表格中间,商品数据,采用变量的形式,找对数据类型
输出所有变量
3.表格尾部,商品进行数学计算,运算符
*/
public class Shoop{
public static void main(String[] args){
//输出表头固定数据
System.out.println("----------商场库存清单");
System.out.println("品牌型号 尺寸 价格 库存数");
//定义表格中的数据变量
//品牌型号,String,尺寸,价格 double 库存int
String macBrand = "MacBookAir";
double macSize = 13.3;
double macPrice = 6988.88;
int macCount = 5;
String thinkBrand = "ThinkPadT450";
double thinkSize = 14;
double thinkPrice = 5999.99;
int thinkCount = 10;
String asusBrand = "ASUS-Fl5800";
double asusSize = 15.6;
double asunPrice = 4999.5;
int asunCount = 18;
//教程中使用的是空格键对齐 我使用的是Tab键对齐
System.out.println(macBrand+" "+macSize+" "+macPrice+" "+macCount);
System.out.println(thinkBrand+" "+thinkSize+" "+thinkPrice+" "+thinkCount);
System.out.println(asusBrand+" "+asusSize+" "+asunPrice+" "+asunCount);
System.out.println();
//计算库存总数,所有商品数量库存求和
int totalCount = macCount+thinkCount+asunCount;
System.out.println("商品的总库存为:"+" "+totalCount);
//计算所有商品库存的总金额,每个商品价格*库存数
double totalMoney = macCount*macCount + thinkCount*thinkPrice + asunCount*asunPrice;
System.out.println("商品库存总金额"+" "+totalMoney);
}
}
Scanner类
/*
引用数据类型,介绍一个类 Scanner
java已经存在了 ,是Sun公司为我们做好的类
定义引用数据类型变量,和基本类型变量区别
int a = 1;
格式:
类型 变量名 = new 类型();
举例创建出Scanner类的变量
Scanner sc = new Scanner();
每个引用类型,都有自己的功能,如何使用功能
公式:
变量.功能名字();
Scanner类,作用,让我们在命令行中,接受键盘的输入
使用Scanner类步骤:
1.导入包,指明类所在的文件夹,import
java文件夹-util文件夹
2.公式,创建出Scanner类型变量
3.变量.使用Scanner类中的功能,完成键盘输入
*/
//import一定要写在类的上面
import java.util.Scanner;
public class ScannerDemo{
public static void main(String[] args){
//类型 变量名 = new 类型();
//创建Scanner,类变量
Scanner sc = new Scanner(System.in);
//变量.功能名字() 接受键盘输入
//功能: nextInt() 接受键盘输入,保证输入的是整数
//功能接受的数据就是整数,功能运行后的结果就是整数类型
int i = sc.nextInt();
System.out.println(i);
//Scanner类的另一个功能 next() 接受键盘输入的字符串
String s = sc.next();
System.out.println(s);
}
}