狂神说Java个人笔记-计算机操作基础
计算机操作基础
打开cmd的方式
- 开始+系统+命令提示符
- win键+R 输入cmd打开控制台
- 在任意文件夹下按住shift+鼠标右键,在此处打开命令窗口
- 资源管理器的地址栏前面加上cmd路径
管理员方式运行:选择管理员方式运行
常用的dos命令
#盘符切换D:
#盘符文件查看dir
#切换目录 cd change directory
#返回上级 cd..
#清理屏幕 cls(clear screen)
#退出终端 exit
#查看电脑的ip ipconfig
#打开应用
#打开计算器calc
#打开画图工具mspaint
#打开记事本notepad
#ping命令
ping www.baidu.com
#文件操作
添加 md 目录名
删除 rd 目录名
添加 cd> 文件名
删除 del 文件名
电脑常用快捷键
- 全选 ctrl+a
- 复制 ctrl+c
- 粘贴 ctrl+v
- 撤销 ctrl+z
- 保存 ctrl+s
- 关闭窗口alt+F4
- 打开任务管理器 ctrl+shift+esc
- 永久删除shift+delete
- 运行 win+r
Java三大版本
-
JavaSE:标准版(桌面存续,控制台开发)
-
JavaME:嵌入式开发(手机小家电)
-
JavaEE:E企业级开发(web端,服务器开发)
JDK、JRE、JVM
JDK:Java Development Kit
JRE: Java Runtime Environment
JVM: Java Virtual Machine
安装JDK,配置运行环境
- 百度搜索JDK
- 下载安装合适的jdk版本
- 安装jdk(注意安装路径要记住,最好自定义)
- 安装成功后,桌面我的电脑》鼠标右键》属性》环境变量
- 系统变量里,添加一个变量,变量名:JAVA_HOME 变量值:安装jdk路径
- 点击Path》编辑》添加%JAVA_HOME%\bin ,保存
- win+r 打开 运行 ,cmd进入dos命令 javac测试。
HelloWorld
1.新建一个记事本,名字改为Hello
2.文件后缀名改为.java
3.如果没有显示后缀,查看里手动打开显示后缀
4.编写代码
public class Hallo{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
5.编译java文件,运行class文件。
Microsoft Windows [版本 10.0.18363.778]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\Users\A450\Desktop\练习测试>javac Hallo.java
C:\Users\A450\Desktop\练习测试>java Hallo
HelloWorld
C:\Users\A450\Desktop\练习测试>
*注意*
-
java每个单词大小写敏感,区分开。
-
文件名必须和class类名保持一致
-
符号使用了中文符号会错误
java程序运行机制
编译型:用编译器把程序编译的运行程序
解释型:对速度要求不高时,边执行边解释,随着更新随时可以翻译过来。
程序运行机制:源程序(*java文件)》Java编译器》字节码(.class文件)》类装载器》字节码校验器》解释器》操作系统平台
注释
单行注释 //
多行注释/**/
文档注释/** */
*注意:书写注释是一个非常好的习惯*
标识符
*java所有的组成部分都需要名字。类名、方法名、变量名都被称为标识符*
数据类型
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义,后使用
弱类型语言
java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
数据类型拓展
整数:
进制 二进制0b 十进制 八进制0 十六进制0x
int i=0;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0-9 A~F 16
System.out.println(i); 10
System.out.println(i2);8
System.out.println(i3);16
浮点数:
银行业务怎么表示?钱
BigDecimal 数学工具类
float 有限 离散 舍入误差 大约 接近但不等于
double
*最好完全避免使用浮点数进行比较*
字符:
//所有的字符本质还是数字
编码 Unicode 2字节 0-65536
public static void main(String[] args) {
//进制 二进制0b 十进制 八进制0 十六进制0x
int i=10;
int i2=010;//八进制0
int i3=0x10;//十六进制0x 0-9 A-F
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("==================================");
//浮点数拓展 银行业务怎么表示? 钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d);//false
float d1=232323232131213f;
float d2=d1+1;
System.out.println(d1==d2);//true
//=======================================
//字符拓展
char c1='A';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);//强制转换为int类型
System.out.println(c2);
System.out.println((int)c2);
//所有字符本质是数字
//编码 Unicode 表:(97=a 65=A) 2字节 0-65536 2 16
//U0000 UFFFF
char c3='\u0061';
System.out.println(c3);
//==================================
//转义字符
// \t 制表符
// \n 换行
String sa=new String("hello world");
String sb=new String("hello world");
String sc="hello world";
String sd="hello world";
System.out.println(sa==sb);
System.out.println(sc==sd);
//对象 从内存分析
//布尔值扩展
boolean flag=true;
if(flag==true){}
if(flag){}
//Less is More! 代码要精简易读
}
类型转换
*由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。*
低--------------------------------------------------高
byte,short,char->int->long->float->double
运算中,不同类型的数据先转化为同一类型,然后进行计算
-
强制类型转换
-
自动类型转换
-
//操作比较大的数的时候,注意溢出问题 //Jdk7新特性,数字只见可以用下划线分割 int money=10_0000_0000; int years=20; int total=money*years;//-1474836480,计算的时候溢出了 long total2 =money*years;//默认是int,转换之前已经存在问题了? long total3=money*((long)years); System.out.println(total3);
变量
变量是什么:就是可以变化的量!
java是一种强类型语言,每个变量都必须声明其类型。
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}];
//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量。
*注意事项:*
-
每个变量都有类型,可以使基本类型,也可以使引用类型。
-
变量名必须是合法的标识符。
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
变量作用域
-
类变量
-
实例变量
-
局部变量
常量
*常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。*
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
final double PI=3.14;
*常量名一般使用大写字符*
变量的命名规范
所有变量、方法、类名:见名知意
类成员变量:首字母小写和驼峰原则:monthSalary
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man
方法名:首字母小写和驼峰原则:runRun()
//类变量 static static double salary=2500; //常量,修饰符,不存在先后顺序 final static double PI=3.14; int i; double k; //实例变量:从属于对象;如果不子兴初始化,这个类型的默认值 0 0.0 //布尔值:默认值是false //出了基本类型,其余的默认值都是null; String name; int age; //main方法(主程序) public static void main(String[] args) { //局部变量:必须声明和初始化值 int i=10; System.out.println(i); //变量类型 变量名字=new Demo04(); Demo4 demo4=new Demo4(); System.out.println(demo4.name); System.out.println(demo4.age); } //其他方法 public void add(){ }
运算符
java语言支持如下运算符:
-
-
算术运算符:+, -, *, / , %, ++, --,
-
赋值运算符=
-
关系运算符:>, <, >=, <=, ==, !=instanceof
-
逻辑运算符:&&, ||, !
-
位运算符:&, |, ^,~, >>,<<,>>>
-
条件运算符?:
-
扩展赋值运算符:+=, -=, *=, /=
自增自减运算符
//++ -- 自增自减 一元运算符
int a=3;
int b=a++;//执行完这行代码后,先给b赋值,再自增
int c=++a;//执行完这行代码前,先自增,再给b赋值
//幂运算 2^3 2*2*2=8 很多运算,我们会使用一些工具类来操作!
double pow=Math.pow(2,3);
//与(and)或(or)非(取反)
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true
System.out.println("a||b"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为true
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果是假则变为真
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
/* A =0011 1100
B=0000 1101
A&B=00001100 如果ab同位上都是1则为1否则为0
A|B=00111101 如果ab同位上有1则为1,否则为0
A^B=00110001 亦或两同位相同为0,不同为1
~B =11110010 取反同位和原来数字相反
二进制运算
2*8=16 2*2*2*2
效率极高
<<左移 *2
>>右移 /2
2<<3=16
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
*/
int a=10;
int b=20;
a+=b;//a=a+b
a-=b;//a=a-b
//字符串连接符 +,string
System.out.println(""+a+b);//字符串在前所以整个运算做了拼接
System.out.println(a+b+"");//字符串在后所以先运算再进行了拼接
三元运算符
//x ? y : z
//如果x==true,则结果为y,否则结果为z
int score=80;
String type= score< 60 ?"不及格":"及格";
第一次写,希望一直能写下去