长春人文学院第四组孙乃宇https://www.cnblogs.com/sunnaiyu/javase day01
作者:互联网
Java
编译:
-
Java Scala hello.java 是我们程序员写的,以10进制为单位写的文件,计算机只认二进制,我们所写的Java文件计算机是不认识的。我们需要有一个翻译,把我们写的Java文件翻译给计算机听。js是运行在浏览器上的,不需要翻译
-
Java历史:
- 1995年,詹姆斯高斯林,创办了sun公司,发明了Java语言,印尼的爪哇岛,Java语言,寓意为全世界软件爱好者递上一杯热乎的咖啡。早期,Java应用于移动端,2009年sun公司被orancle(甲骨文 旧金山)收购。Java底层是用什么写出来的,C和C++,C是万物之主。
计算机:
- 软件:看不见的 操作系统:windows linux MacOS
- 硬件:看的见的 CPU 显卡 内存 16G 一块固态硬盘512G以上 ,尽量不要买混合硬盘,CPU尽量在4核以上,16+512的配置
内存:物理内存 虚拟内存
操作系统:操作一些基本的指令
- 打开指令控制台
- 输入盘符 f: 直接切换到目标盘
- 回到上一层 cd..
- 进入指定的目录:cd 目录
- 通过dir指令查看当前目录下的文件和文件夹
- 创建一个空文件 copy null a.txt
- 向文件内写入内容 echo 123456>a.txt
- 复制文件 copy a.txt b.txt
- 删除文件 del a.txt 不走回收站
计算机的一些设置
- 显示文件后缀名
- 文件的浏览方式
- 建议不要用第三方杀毒软件 尤其360
二进制:
- 存储单位:
- 1bit=一位
- 1byte=8bit
- 1kb=1024byte
- 1mb=1024kb
- 二进制的加减计算
- 十进制是逢十进一,二进制是逢二进一
Java版本
- javaSE:做桌面应用程序 Java基础
- JavaEE:做企业级应用,要学习的,如淘宝,爱奇艺,b站
- JavaME:手机端,淘汰。
Java特点
- 面向对象:
- 跨平台:平台是操作系统,用Java写的软件在任何平台上都可以运行
- 简单性:
- 解释执行:先变成.class 解释执行.class
- 多线程:多个任务同时进行
- 分布式:
- 健壮性:强数据类型的语言,有异常处理和垃圾回收机制
- 安全性:插件设置一个安全防护机制
环境搭建
- 下载jdk官网下载
- 配置环境变量
- 写一个程序 hello.java
public class javawnjian{//声明一个类名字叫做hello
public static void main(String [] args){
System.out.println("hello 2022");
}
}
- 通过cmd指令控制台找到这个java文件
- Java文件是我们写的,计算机不认识,现在我们需要翻译一下,使用javac hello.java,生成hello.class,这是一个二进制文件
- 执行hello.class ,java hello
- jkd:java开发工具包
- jre:java运行环境,如果只要运行,不需要开发,可以只安装jre
- jvm:java虚拟机
idea使用
- java 是严格的区分大小写
- 写代码的时候,一行代码要么用;结束,要么写{}
- 所有的符号都是英文状态下
- 代码提示,一定要注意看代码提示,如果你写的东西没有提示,多半是错的
- idea有报错功能,如果你发现你写的代码有错误,就别运行了
什么是类
- 类,是Java开发中的一个最小的单位,一个java开发的项目是由一堆类组成的
命名规则
-
在开发中只要是可以命名的东西,标识符。
-
类名的命名规则:只能由字母数字下划线美元符号组成,数字不能开头,不建议使用$号,下划线尽量不要开头,推荐使用数字字母,使用驼峰式命名,如果这个类名由多个单词组成,每个单词的首字母大写
-
注释
- 单行注释://
- 多行注释:/* */
- 文档注释:/** */
- 三种注释都有调试代码
-
关键字:官方解释:这个单词有他独一无二的作用(idea变蓝的字)
- 关键字不能用来命名,关键字都是小写的(50左右)其中由两个保留字(goto,const)
数据类型
基本数据类型(四类八种)
-
整形:
- byte(字节型):-128~127 占一个字节8位
- short (短整型):215 占两个字节16位
- int(整形):2_31 ~2_31占四个字节32位
- long(长整型):-2的63次方到2的63次方减一 八个字节64位 很大
-
浮点型
-
float:单精度浮点型:4个字节=32位。很大,比long大。小数
-
double:双精度浮点型:8个字节=54位。比long大,小数
-
-
字符型
- char:字符型 占两个字节=16位 0~255
-
布尔型:
- 一个字节 或一位(有分歧)boolean: true false
变量
定义变量:为了后期的维护,重复使用
减少使用自变量
- 标识符:变量名的命名规则:和类名相识使用小驼峰:第一个字母小写
- 赋值:使用“=“进行赋值,把等号右边的数赋值给等号左边的变量
//字节型
byte v1=12;
System.out.println(v1);
//短整型
short v2=230;
System.out.println(v2);
//整形
int v3=30;
System.out.println(v3);
//long型 需要在后面加上l
long v4=40L;
System.out.println(v4);
//单精度浮点型须在后面加F
float v5=21.1F;
System.out.println(v5);
//双精度浮点型
double v6=23.44444;
System.out.println(v6);
//字符型 需要加单引号 引号中只能放一个
char b7='t';
//布尔型boolean
boolean v8=true;boolean v9=false;
- 如果看见了一个整数字面量就是int型,看见了字面量的小数就是double
运算符
-
Java中的除法如果是两个整数相除得到的一定是整数 、
-
整数和整数做运算,得到的一定是整数
-
精度
- 整型:4中类型,精度是和位数挂钩,位数越大,精度越高
- 浮点型:double的精度比float要高
- 浮点型>整形
- 低精度和高精度的进行计算得到的一定是高精度的类型
-
基本数据类型的转换
-
自动类型转换(自动类型提升):低精度到高精度
- byte-->int √ int-->byte ×
-
强制类型转换(高精度到低精度):
-
byte v1=10;
-
v1=(byte)(v1+1);
-
如果平白无故把低精度转为高精度,也是强转。
-
-
a++:++a:无论是什么本意都是自增
- a++:表示先赋值后运算
- ++a:先运算后赋值 如果a=10 a++=10(a=11) ++a=11(a=11)
- a-- 和--a同理:没有a**
-
-
赋值运算符:
- = += -= *= /= a=a+1--->a+=1
- 赋值运算符可以进行数据类型的转换
-
逻辑运算符:& | !异或
- &&:只有当所有条件都为true整体结果才为true
- &&:只要有一个为假的,则停止判断:效率高
- &:无论有多少个假的所有的条件都看:效率低
- ||:当有一个条件都为false整体结果就为false
- ||:同&&
- |:同&
- !:取反
- 异或:^ 有假有真即为真,全真全假即为假
- &&:只有当所有条件都为true整体结果才为true
-
三元运算符
int a=10;
int b=20;
int c=0;
c=a>b? a:b