盘符名称+冒号---------盘符切换
dir---------------查看当前路径下的内容
cd目录--------进入单级目录
cd..----------回退到上一级目录
cd \----------回退到盘符目录
cls----------清屏
exit
为什么要配环境变量?
在任意的目录下都可以打开指定的软件。把软件的路径配置到环境变量中
基础语法
java">public class Helloword{public static void main(String[] arg{System.out.println("HelloWorld");
}
命令行窗口,找到代码所在的文件目录
编译,会在该文件夹下产生HelloWorld.class(字节码文件)
java HelloWorld
运行,当前目录下的HelloWorld.class这个文件,在运行时候不加后缀名
注释和关键字
注释
java">public class HelloWorld{public static void main(String[] args){//输出HelloWorldSystem.out.println("HelloWorld");//求数组中的最大值int [] arr = {10,20,50,70,200,90};int max = arr[0];for (int i = 0;i<arr.length;i++){if(arr[i]>max){max=arr[i];}}System.out.println(max);} }
单行注释
多行注释
文档注释
关键字
被java赋予了特定涵义的英文单词
特点:
关键字的字母全部小写
常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观
class
创建/定义一个类
字面量
告诉程序员:数据在程序中的书写格式
字面量类型:
- 整数类型
- 小数类型
- 字符串类型
用双引号括起来的内容
- 字符类型
用单引号括起来的,内容只能有一个
'A' '0' '我'
- 布尔类型
布尔值,表示真假 只有两个值:true、false
- 空类型
一个特殊的值,空值 值是:null
\t | 制表符 | 在打印的时候,把前面字符串的长度补齐到8位,或8的整数倍。最少补一个空格,最多补8个空格 |
null | 空类型 | 不能直接打印 |
变量
数据类型 变量名 = 数据值;
只能存一个值
变量名不允许重复定义
一条语句可以定义多个变量
变量在使用之前一定要进行赋值
变量的作用域范围
二进制:由0和1组成,代码中以0b开头
十进制:由0~9组成,前面不加任何前缀
八进制:由0~7组成,代码中以0开头
十六进制:由0~9还有a~f组成,代码中以0x开头
数据类型
基本数据类型
数据类型 | 关键字 | 取指范围 | 内存占用 |
整数 | byte short int(默认) long | -128~127 -32768~32767 -2147483648~2147483647(10位数) | 1 2 4 8 |
浮点数 | float double(默认) | -3.40129e-38 ~ 3.402823e+38 -4.9000000e-324 ~ 1.797693e+308 | 4 8 |
字符 | char | 0~65535 | 2 |
布尔 | boolean | true、false | 1 |
注意:如果要定义long类型的变量,在数据值的后面需要加一个L作为后缀
byte 取值范围
double>float>long>int>short>byte
long类型变量:需要加入L标识
float类型变量:需要加入F标识
java">public class ValueDemo1{public static void main(String[] args){String name="谢广坤";int age=18;char gender='男';double height=180.1;boolean flag=true;System.out.println(name);System.out.println(age);System.out.println(gender);System.out.println(height);System.out.println(flag);} }
标识符
给类、方法、变量等起的名字
由数字、字母、下划线_和美元符$
不能以数字开头、
不能是关键字
区分大小写
小驼峰命名法:方法、变量
规范1:标识符是一个单词的时候,全部小写
name规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
firstName
大驼峰命名法:类名
规范1:标识符是一个单词的时候,首字母大写
Student
规范2:标识符由多个单词组成的时候,每个单词的首字母大写
GoodStudent
键盘录入
Scanner
导包--Scanner这个类在哪
import java.util.Scanner;
创建对象--表示我要开始用Scanner这个类了
Scanner sc = new Scanner(System.in);
接收数据
int i = sc.nextInt();
java">import java.util.Scanner;
public class ScannerDemo1{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.println("请输入整数");int i = sc.nextInt();System.out.println(i);}}
键盘输入数字并求和
键盘录入两个两个整数,求出它们的和并打印出来
java">import java.util.Scanner; public class ScannerTest{public static void main(String[] args){Scanner sc=new Scanner(System.in);System.out.println("请输入第一个数字");int number1 = sc.nextInt();System.out.println("请输入第二个数字");int number2=sc.nextInt();System.out.println(number1+number2);}}
IDEA
IntelliJ IDEA,用于Java语言开发的集成环境
IDEA项目结构介绍
project(项目)
module(模块)
package(包)
class(类)
在本地打开这个文件夹
快速生成main方法--psvm
输出语句---sout
运行
MarsCode
根据注释生成代码
修改bug
点击#,选择要修改的文件
设置字体
自动导包
自动提示,忽略大小写
Match case
IDEA的项目和模块操作
IDEA中类相关操作
新建类
右键包,New,Java Class
修改类名
右键,Refactor,Rename
删除类
右键,delete
IDEA中模块相关操作
新建模块
File,Project Structure,Model,点击+,New Model,选择Java,起名
删除模块
修改模块
导入模块
IDEA中项目相关操作
关闭项目
File,Close Project
新建项目
New Project,Empty Project,
打开项目
修改项目
运算符
对字面量或者变量进行操作的符号
表达式
用运算符把字面量或者变量链接起来,符合java语法的式子
算术运算符
加+、减-、乘*、除/、取模%
在代码中,如果有小数参与计算,结果有可能是不精确的
java">package com.yufei.demo1;public class demo1 {public static void main(String[] args) {System.out.println(10/3);System.out.println(10.0/3);} }
键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
java">package com.yufei.demo1;import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int num=sc.nextInt();int a=num%10;int b=num/10%10;int c=num/100%10;/*int b=(num%100-a)/10;int c=(num%1000-num%100)/100;*/System.out.println(a);System.out.println(b);System.out.println(c);} }
“+”操作的三种情况
数字相加
java">public class demo2 {public static void main(String[] args) {int a=10;double b=12.3;double e=20.0;double c=a+b;double f=a+b;System.out.println(c);System.out.println(e);} }
数字进行运算时,数据类型不一样不能运算,需要转成一样的,才能运算
类型转换分类:
隐式转换(自动类型提升)(取值范围小的-->取指范围大的)
隐式转换的两种提升规则:
(1)取值范围小的,和取值范围大的进行运算,小的会先提升为大的,在进行运算
(2)byte short char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算
java">package com.yufei.demo1;public class demo2 {public static void main(String[] args) {int a=10;double b=12.3;double c=a+b;System.out.println(c);byte e=10;byte f=20;int d=e+f;System.out.println(d);} }
强制转换(取值范围大的-->取指范围小的)
byte最大才127,此时数据会发生错误
java">package com.yufei.demo1;public class demo3 {public static void main(String[] args) {byte b1=10;byte b2=20;byte result=(byte)(b1+b2);System.out.println(result);} }
java">public class demo3 {public static void main(String[] args) {byte b1=100;byte b2=100;byte result=(byte)(b1+b2);System.out.println(result);//结果就发生错误了,因为要转换的数据过大} }
字符串相加
当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。
会将前后的数据进行拼接,并产生一个新的字符串。
“123”+123 “123123”
连续进行“+”操作时,从左到右逐个进行
java">System.out.println(3.7+"abc"); //"3.7abc" System.out.println("abc"+true); //"abctrue" System.out.println("中"+"abc"+true); //"中abctrue"int age=18; System.out.println("我的年龄是"+age+"岁"); //"我的年龄是18岁" System.out.println("我的年龄是"+"age"+"岁"); //"我的年龄是age岁"System.out.println(1+2+"abc"+2+1); //"3abc21"
数值拆分
java">package com.yufei.demo1;import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个三位数:");int num=sc.nextInt();int a=num%10;int b=num/10%10;int c=num/100%10;/*int b=(num%100-a)/10;int c=(num%1000-num%100)/100;*///System.out.println(a);System.out.println("个位是:"+a);//System.out.println(b);System.out.println("十位是:"+b);//System.out.println(c);System.out.println("百位是:"+c);} }
字符相加
字符+字符
字符+数字
会把字符通过ASCII表查询到对应的数字在进行计算
A--65
a--97
java">public class demo3 {public static void main(String[] args) {char c='a';int result=c+0;System.out.println(result);} }
java">System,out.println(1+'a'); //98 System,out.println('a'+"abc"); //aabc
注意:
/和%的区别:两个数做除法,/取结果的商,%取结果的余数
整数操作只能得到整数,要想要得到小数,必须有浮点数参与运算
自增自减运算符
a++先用后加
++a先加后用
java">public class demo3 {public static void main(String[] args) {int x=10;int y=x++; //x=11,y=10int z=++x; //x=12,z=12System.out.println("x:"+x);System.out.println("y:"+y);System.out.println("z:"+z);} }
赋值运算符
=
+=
-=
*=
/=
%=
隐藏了一个强制转换
java">int a=10; int b=20; a+=b; //a=(int)(a+b);short s=1; s+=1; //s=(short)(s+1);
关系运算符
关系运算符/比较运算符
逻辑运算符
Ctrl+D
赋值本行的内容到下一行
短路逻辑运算符
判断用户名并且判断密码
1.用户名正确,需要判断密码
2.用户名错误,无需判断密码
java">int a=10; int b=10; boolean result = ++a < 5 && ++b < 5; system.out.println(result); //false system.out.println(a); //11 system.out.println(b); //10
数字6是一个真正伟大的数字,键盘录入两个整数。
如果其中一个为6,最终结果输出true
如果它们的和为6的倍数,最终结果输出为true
其他情况都是false
a==6 b==6 (a+b)%6==0
java">public class demo3 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入第一个整数:");int num1 =sc.nextInt();System.out.println("请输入第二个整数:");int num2=sc.nextInt();boolean result= num1==6||num2==6||(num2+num1)%6==0;System.out.println(result);} }