java-基础篇

JAVA基础篇

DOS命令
1-打开cmd方式
win+R cmd
在任意文件夹下面 按住shift + 鼠标右键,在此处打开命令行窗口

2-常用的DOS命令:

#盘符切换  E:
#查看当前目录下的所有文件  dir
#切换目录   cd change directory   ,     cd  ..   ,     cd  \d  F:
#清屏  cls
#推出终端 exit
#查看电脑IP    ip    ipconfig
#打开应用   calc  mspaint  notepad
#ping 命令  ping www.baidu.com 
#创建目录 md  test
#创建文件  cd>a.txt
#删除文件 del a.txt
#删除文件夹 rd test  【删除文件夹 前 先删除文件】

java基础

java的特性优势

  • 简单性
  • 面向对象
  • 可移植性
  • 高性能
  • 分布式
  • 动态性 【反射机制】
  • 多线程
  • 安全性 【异常机制】
  • 健壮性

java三大版本

  • write once 、run anywhere
  • javaSE:标准版 【桌面程序、控制台开发....】
  • javaME:嵌入式开发【手机,小家电....】 用的人很少了
  • javaEE:E企业级开发【web端,服务器开发.....】

JDK JRE JVM

JVM ---》 JRE ---》 JVM

java程序运行机制

  • 编译型: 把程序全部翻译成计算机可以执行的语言 compile 编译器

  • 解释性: 边执行边解释

  • 程序运行机制:

    • 源程序(.java)---》 java编译器---》字节码(.class) ---》

      类装载器---》字节码检验器---》解释器----》操作系统平台

标识符

  • java标识符大小写敏感;
  • java标识符只能以字母 $ _ 开头

数据类型

  • 强类型语言

    要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

  • 弱类型语言

浮点数

float f = 0.1f;
double d = 1/10;
System.out.println(f==d);//fasle

float d1 = 23232323231f;
float d2 = d1+1;
System.out.println(d1==d2);//true
  • float 有限 离散 舍入误差 大约 接近但不等于
  • double
  • 最好完全避免使用浮点数进行比较
  • BigDecimal 类 数学用具类 大数据类 【用这个】

字符

char c1 ='a';
char c2 = '中';
System.out.println(c1);// a
System.out.println((int)c1);// 97  强制类型转换
//所有的字符本质还是数字
//编码 Unicode 有表:(97 = a  65 =A) 2字节  0 - 65526
// U0000 UFFFF
char c3 = '\u0061'
System.out.println(c3);// a

//转义字符
// \t 制表符
// \n 换行符
System.out.println("Hello\tworld");
System.out.println("Hello\nworld");

//看一个e.g.
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);//false

String sc = "hello world";
String sd = "hello world";
System.out.println(sc==sd);//true

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    低 ---------------------到----------------------高

    byte , short , char ---> int ---->long ---->float ---->double

  • 强制类型转换 高 赋值 到 低 [会有内存溢出 和 精度 问题]

  • 自定类型转换 低 赋值 到 高

int i = 128;
byte  b = (int) i;//内存溢出  -128

double d = i;

//操作比较大的输的时候。注意溢出问题
int money = 10_0000_0000;//JDK7 新特性 数字之间可以用下划线分割
int years = 20;
int total = money * years; // -147483648,计算的时候溢出了
long total2 = money * years;//默认是int 转换之前还是int 就有问题了
 
long  total3 = money * ((long)years);//先把一个数转化为long  √

变量

变量作用域

  • 类变量 必须有static
  • 实例变量
  • 局部变量

常量

  • 用final来定义 一般名大写
posted @ 2020-11-11 22:48  学点东西真不容易  阅读(81)  评论(0编辑  收藏  举报