开发前基础了解01

下载安装idea

www.jetbrains.com

idea 优化,一些提示,错误提示等方便工具等

java基础语法

  1. 编译型(complie 一次转化为计算机可读语言,java代码->java编译器->java.class)
  2. 解释型(将class通过类装载器,字节码校验器-解释器-操作系统平台)
注释

平时我们编写代码,在代码少的情况下可以理解代码,但是一旦结构复杂,就需要用到注释,注释并不会执行。

  1. 单行注释 //xxxxxx
  2. 多行注释 /* xxxx */
  3. 文档注释 /** 22321 */

标识符和关键字

关键字

abstract ,assert ,boolean,break,byte,case,catch,char,class,const,continue,default,do,double,else,enum,extends,final,finally,float,for,goto,if,implements,import,instanceof,int,interface,long,native,new,package,private,protected,public,return,strictfp,short,static,super,switch,synchronized,this,throw,throws,transient,try,void,volatile,while

标识符

所有标识符都应该以(A-Z或a-z,$,_)开始

数据类型

强类型语言

要求变量的使用严格符合规定,所有变量都必须定义后才能使用(安全性但是速度慢)

弱类型语言

vb js

java的数据类型分两大类
  1. 基本类型

    • 数值类型
      • 整数 byte -128-127
      • short -32768-32767
      • int -2147483648-2147482647
      • long -9223372036854775808-9223372036854775807
      • 小数float 4个字节
      • double 8个字节
      • 字符char 2个字节
    • boolean类型:占1位 只有true和false

    什么是字节

    位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数

    字节(byte):是计算机中数据处理的基本单位 ,习惯上用大写的B表示

    1B(byte,字节)=8bit(位)

    字符:是计算机中使用的字母,数字,字和符号

    1bit表示一位,1byte表示一个字节=8bit,1024B=1KB,1024KB=1M,1024M=1G

  2. 引用类型

    • 接口
    • 数组

注意:基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上
而引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
在数据做为参数传递的时候,基本数据类型是值传递,而引用数据类型是引用传递(地址传递)。

数据类型拓展

进制 (二进制0b 十进制 八进制0 十六进制0x)

int i=10 十进制

int i=010 八进制

int i=0x10 十六进制 0-9 a-f

浮点数

银行业务

float和double

float f=0.1f ,double d=1.0/10 f!=d

float f=231232323f ,float f2=f+1 f==d

原因:float 有限 离散 舍入误差 大约 接近但不等于,最好完全避免使用浮点数比较

bigdecimal 数学工具类,银行业务用这个比较

字符串拓展

char c1=“a”,char c2=“中” 可以强转为int ,(int)c1

所有字符本质还是数字,unicode 表:97=a 65=A 编码可以处理各种语言文字占2个字节,2的16次方 65536

正常unicode char c3=“\u0061” =a

转义字符

\t制表符 \n换行。。。。。百度查

java语言类型转换

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

    • 由低------>高
    • byte,short,char-》int-》long-》float-》double 小数优先级大于整数
  • 运算中不同类型的数据转化为同一类型,然后进行运算

    • 强制转化 高->低int i = 128 ,byte b=(byte)i i=128 b=-128 内存溢出

    • 自动转化 低->高 double b=i

    • 注意点:

      • 不能对布尔值进行转换
      • 不能把对象类型转换为不相干类型
      • 在把高容量转换为低容量的时候,强制转换
      • 转换的时候可能存在内存溢出((byte)128)或者精度问题((int)23.7)
  • 操作比较大的数的时候注意溢出问题

    • jdk7新特性,数字之间可以用_分割 int money=10_0000_0000;
    • int years=20; int total = years*money ; //-1474836480 计算后溢出
    • long total=money*years;//默认是int 转换前就存在问题
    • long total =money*((long)years);//先把一个数转为long 正常输出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值