project (项目、工程)
module (模块)
package(包)
class (类)
使用idea开发第一个Java程序的步骤:
1.创建工程new Project (空工程)
2.创建模块 new Module
3.创建包 new Package(域名倒写)
4.创建类
5.编写代码、并启动
idea中的Java程序是自动编译和执行的,编译后的class文件放在工程路径下的一个out文件夹里
IDEA常用快捷键
main/psvm、sout、... 快速键入相关代码
ctrl+D 复制当前行数据到下一行
ctrl+Y 删除所在行,建议用ctrl+x
ctrl+alt+L 格式化代码
alt+shift+↑,alt+shift+↓ 上下移动当前代码
ctrl+/,ctrl+shift+/ 对代码进行注释
Java基础语法
注释:
单行注释: // 注释内容,只能写一行。
多行注释: /*
注释内容1
注释内容2
*/
文档注释:文档注释的内容是可以提取到一个程序说明文档中去的
/**
注释内容
注释内容
*/
注释的特点
注释不影响程序的执行的。(写注释是一个利人利己的好习惯哟!)
ctrl+/ 单行注释(对当前行进行注释)。
ctrl+shift+/ 对选中的代码进行多行注释。
字面量
计算机是用来处理数据的,字面量就是告诉程序员:数据在程序中的书写格式。
常用数据 生活中的写法 程序中的写法 说明
整数 666,-88 666,-88 写法一致
小数 13.14,-5.21 13.14,-5.21 写法一致
字符 A,O,我 'A','O','我' 程序中必须使用单引号,有且仅能一个字符。
字符串 程序员 "HelloWorld" , “程序员” 程序中必须使用双引号,内容可有可无。
布尔值 真、假 ture、false 只有两个值,ture代表真,false代表假
空值 值是:null 一个特殊的值,空值
变量
什么是变量?
变量是用来记住程序要处理的数据的。
变量的定义格式
数据类型 变量名称 = 数据; int age = 18;
(int整数类型,double小数类型)
变量的特点
变量中装的数据是可以被替换的。int age2 = 18;
age2 = 19;
System.out.prontln(age2); 输出是19
age2 =age2 + 1;
System.out.println(age2); 输出是20
变量的应用场景
写程序对数据进行处理就很方便了。
//比如:你现在有188.5元,你等会要发出100元,在收到20元,想知道最后剩余多少钱?
double money = 188.5;
//发出100元
money = money - 100;
//在收到20元
money = money + 20;
System.out.println(money);
}
}
//比如:现在有一部公交车,大人2元,小孩1元,公交车要经过2站。
//第一站:有3个大人一个小孩上车。
//第二站:有一个大人一个小孩上车,总共收到了多少钱?
int count = 0;
int money2 = 0;
count = count + 3 + 1;
money2 = money2 + 3 * 2 + 1;
count = count +1 + 1;
money2 = money2 + 2 + 1;
System.out.println(count);
System.out.println(money2);
变量使用的几个注意事项
1.变量要先声明才能使用。
错误:System.out.println(age);
正确:int age = 18;
System.out.println(age);
2.变量是什么类型,就应该用来装什么类型的数据,否则报错。
错误:age = 9.8;(年龄是整数int)
3.变量是从定义开始到 "}"截至的范围内有效;且同一个范围内,定义的多个变量,它们的名称不能一样。
4.变量定义的时候可以不赋初始值;但在使用时,变量里必须有值,否则报错。
错误:int number; 正确:int number;
System.out.println(number); number = 100
System.out.println(number);
关键字、标识符
关键字
Java语言自己用到的一些词,有特殊作用的,我们称之为关键字,如:public、class、int、double...
注意!!! 关键字是java用了的,我们就不能用来做为类名、变量名、否则会报错!
#####
标识符
标识符就是名字,我们写程序时会起一些名字,如类名、变量名等等都是标识符。
标识符的要求
基本组成:由数字、字母、下划线(_)和美元符($)等组成。
强制要求:不能以数字开头、不能用关键字作为名字、且时区分大小写的。
标识符的建议规范
变量名称:满足标识符规则,同时建议用英文、有意义、首字母小写,满足”驼峰模式“,例如:int studyNumber = 59;
类名称:满足标识符规则,建议全英文、有意义、首写字母大写,满足”驼峰模式“,例如:HelloWorld,Student
进制
Java程序中支持书写二进制、八进制、十六进制,分别需要以0B或者0b、0、0X或者0x开头。
计算机的数据单位
计算机最小的组成单元时:字节,1B=8b
在B的基础上,计算机发展除了KB、MB、GB、TB……这些数据单位。
1B=8b
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
数据类型的分类
基本数据类型:4大类8中。
数据类型 内存占用(字节数) 数据范围
整型 byte 1 -128~127
short 2 -32768~32767
int(默认) 4 -2147483648~2147483647(10位数,大概21亿多)
long 8 -9223372036854775808~922372036854775807(19位数)
浮点型(小数) float 4 1.401298 E -45到3.4028235 E+38
double(默认) 8 4.9000000 E -324到1.797693 E+308
字符型 char 2 0-65535
布尔型 boolean 1 true,false
package com.itheima.variable;
public class TypeDmeo1 {
public static void main(String[] args) {
//目标,掌握8种基本数据类型,用来定义变量。
//1.整型
byte number = 98;
System.out.println(number);
short number2 = 9000;
int number3 = 1232323232; //默认
//注意:随便写一个整型自变量,默认时int类型的,73642422442424虽然没有超过long的范围,但是他超过了本身int的范围了。
//如果希望随意写一个整型字面量是long类型的,需要在后面加上L/l
long number4 = 73642422442424L;
//2.浮点型
//注意:随便写一个小数字变量,默认当初double对待的,如果希望这个小数是float类型的,需要在后面加上:F/f
float score1 = 99.5F;
double score2 =99.8;
//3.字符型
char ch1 = 'a';
char ch2 = '中';
char ch3 = '国';
//4.布尔型
boolean b1 = true;
boolean b2 = false;
引用数据类型
//引用数据类型:string
//string代表的是字符串类型,定义的变量可以用来记住字符串。
String name = "hyh";
System.out.println(name);
类型转换
自动类型转换
类型范围小的变量可以直接赋值给类型范围大的变量。
public class TypeConversionDemo1 {
public static void main(String[] args) {
//目标:理解自动类型转换机制。
byte a = 12;
int b = a;//发生了自动类型转换了
System.out.println(a);
System.out.println(b);//输出结果都是12
}
}
自动类型转换的其他形式
byte→short→int→long→float→double
int c = 100;//4
double d = c;//8 发生了自动类型转换了
System.out.println(d);//100.0
char ch = 'a';//‘a’ 97 →00000000 01100001
int i = ch; //发生了自动类型转换了→ 00000000 00000000 00000000 01100001
System.out.println(i);//97
}
}
表达式类型转换
在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,在参加运算。
byte、short 、char→int→long→float→double
注意事项:
表达式的最终结果类型由表达式中的最高类型决定。
在表达式中,byte、short、char是直接转换成int类型参与运算的。
//目标:掌握表达式的自动类型转换机制。
byte a =10;
int b = 20;
long c = 30;
long rs = a+b+c;
System.out.println(rs);
double rs2= a+b+c+1.0;
System.out.println(rs2);
byte i = 10;
short j = 30;
int rs3 = i+j;
System.out.println(rs3);
//面试笔试题
byte b1 = 10;
byte b2 =80;
int b3 = b1 + b2;
System.out.println(b3);
}
}
强制类型转换
类型范围大的数据或者变量,直接赋值给类型范围小的变量会报错。
int a = 20;
byte b = a;//报错
强制类型转换:强行将类型范围大的变量、数据赋值给类型小的变量。
数据类型 变量2 = (数据类型)变量1、数据
//目标:掌握强制类型转换。
int a = 20;
byte b = (byte) a; //ALT+ENTER 强制类型转换。
System.out.println(a);
System.out.println(b);
}
}
int i = 1500;
byte j =(byte) i;
System.out.println(j);//-36
注意事项:强制类型转换可能造成数据(丢失)溢出;
浮点型强转成整型,直接丢掉小数点部分,保留整数部分返回。
double d = 99.5;
int m = (int) d;//强制类型转换
System.out.println(m);//99
基本的算术运算符
符号
+(加)
-(减)
*(乘)
/(除) 在Java中两个整数相除结果还是整数。
%(取余)获取的是两个数据做除法的余数
//目标:掌握基本的算术运算符的使用。
int a = 10;
int b = 2;
System.out.println(a+b);//12
System.out.println(a-b);//8
System.out.println(a*b);//20
System.out.println(a/b);//5
System.out.println(5/2);//2 Java中两个整数相除的结果还是整数。
System.out.println(5.0 / 2);//2.5
int j = 5;
int i = 2;
System.out.println(1.0 * j / i);//2.5
System.out.println(a%b);//0
System.out.println(3 % 2);//1
"+"符号可以做连接符的
"+"符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
"abc" + 5 → "abc5"
//目标2:掌握使用+符号连接符的情况。
int a2 = 5;
System.out.println("abc" + a2);//"abc5"
System.out.println(a2 + 5);// 10
System.out.println("itheima" + a2 +'a');//"itheima5a"
System.out.println(a2 + 'a' + "itheima" );//102itheima
自增自减运算符
符号 作用
自增:++ 放在某个变量前面或者后面,对变量自身的值加1
自减:-- 放在某个变量前面或者后面,对变量自身的值减1
注意:1. ++ 、 -- 只能操作变量,不能操作字面量的。
2. ++、-- 如果不是单独使用(如在表达式中、或者同时有其他操作),放在变量前后会存在明显区别。
1.
//目标:掌握自增自减运算符的使用。
int a = 10;
a++;//a = a + 1 ++a也可以
System.out.println(a);
a--;//a=a-1 --a也可以
System.out.println(a);
2++;//报错 不能对自变量进行自增和自减。
2.
int i = 10;
int rs = ++i;//先加后用
System.out.println(rs);//11
System.out.println(i);//11
int j = 10;
int rs2 = j++;//先用后加
System.out.println(rs2);//10
System.out.println(j);//11