学习日记-day01(java基础)

一.java语言的特点?

1. java语言是面向对象的。

2. java语言拥有比较好的安全性和健壮性。java的强类型机制,异常处理,垃圾的自动收集,内置的类库。

3. java语言是跨平台的。(一次编译,处处运行)

4.  java语言是解释型的。 解释性语言:javascript,PHP,java 。编译性语言:c/c++ 。         

区别是:解释性语言编译后的代码不能直接被机器执行,需要解释器解释后才能被执行。 编译性语言编译后可以直接被机器执行。

二.jdk 、jre和jvm的关系

jdk: jre+开发工具包(bin目录下有javac.exe,也就是编译java源文件的工具)

jre: jvm+核心类库 (bin目录有下有java.exe,也就是运行.class文件的工具,没有javac.exe)

jdk给开发人员用,jre给想要运行已经编译好的java程序的人用。

三. 转义字符

\t:一直制表位,实现对齐的功能

\n:换行符

\\:一个\

\":一个"

\':一个'

\r:一个回车, 也就是光标回到当前行的首位置

四.基本数据类型

  

 1字节=8bit    

自动类型转换: 精度小的类型自动转换为精度大的数据类型.

数据类型按精度(容量)大小排序为:

 自动类型转换细节:  多种类型的数据混合运算时,系统自动将所有数据转换成容量大的那种数据类型,再进行运算.

注意:byte,short,char三者不能自动转换,他们三者计算时(无论是单独一个类型还是三者混合计算),会先转换为int类型再进行计算(所以结果也是int类型)。

public class Test03 {
    public static void main(String[] args) {
      byte a=1;
      byte b=2;
      byte c=a+b; //编译报错,因为a+b是int类型的,不能直接赋给byte类型的值
    }
}

注意:可以将一个整型常量直接赋给byte,char,short(前提是在他们的范围内),但是不能将一个整型常量直接赋给byte,char,short,因为需要进行强转。

例如:(1) int a = 10; char c=a;  //会报错,因为a是int类型,需要强转才能转为char类型。

            (2)char a=10;  //不会保存,因为10是一个整型常量,并且在char的容量范围内,

五.基本类型与String类型的转换

基本类型转String类型: (1)直接在基本类型后加上""即可  例如: int a = 10; String str = a+"";

                                       (2)使用String.valueOf()  例如: int a = 10; String str= String.valueOf(a);

String类型转基本类型:   (1)使用基本类型对应的包装类型的想应方法.例如: String str ="123";          

                                                                                                               int a = Integer.parseInt(str);

六.算数运算符

1.%的实质:a%b=a-a/b*b   例如: -10%3= (-10)-(-10)/3*3=-1;

2.++i 自增  等价于 i=i+1; i++ 自增  等价于 i=i+1;

 如果 ++作为表达式使用: ++i : 先自增再赋值;  i++:先赋值再自增;

例如: i=i++ ; 计算机计算规则:temp(临时变量)=i;i=i+1;i=temp;

七.关系运算符

 八.逻辑运算符

 逻辑与 和 短路与的区别: 逻辑与时,符号两边都要判断是否真,而短路与是只要前边的为假,后边的那个就不再执行判断。

a^b:a与b相同时为false,不同时为true。

九.赋值运算符

=、+=、*=、-+..

其中有一个细节,那就是+=这类运算符,举个例子   int a=10;a+=2; 等价于int a=10;a=a+2;

那么细节在哪里呢,我们知道byte,short,char在进行运算时,会转成int类型进行计算,我们看一个例子:  byte a = 10; a+=2; 等价于=》 byte a = 10; a= (byte)(a+2); 其中是有一个强转的。

十.三元运算符

条件表达式?表达式1:表达式2;

运算规则:

1.如果条件为true,运算后的结果是表达式1;

2.如果表达式为false,运算后的结果是表达式2;

十一.java标识符规则

1、必须由字母、数字、下划线_及$组成;

2、不能以数字开头;

3、不能与关键字冲突;

4、不能和java类库的类名冲突;

十二.四种进制

1、对于整数,有四种表示方法:

二进制: 满2进1  , 以0b或0B开头

十进制: 满10进1

八进制: 满8进1,以数字0开头

十六进制:满16进1, 以0x或0X开头表示

2.原码、反码、补码

 java中有7个位运算:

&:按位与

|:按位或

^: 按位异或

~:  按位取反

>>: 右移   正数右移n位相当于原数  \2^n , 例如:  5>>3  相当于 5\(2^n) 

<<: 左移   正数左移n为相当于原数  *2^n, 例如:  5<<3   相当于 5*(2^n)

十三.数组

1.数组的定义:

public static void main(String[] args) {
        int[] arr1 = new int[3];  //定义但是没有赋值。默认为0
        int   arr2[] = new int[3];  //定义但是没有赋值,默认为0
        int[] arr3 = new int[]{1,2,3};//定义并且赋值。
        int[] arr4 = {1,2,3}; //定义并且赋值
        int[] arr5;  //此时arr5为空,此时还没有分配内存空间.
        arr5=new int[3];
    }

2.数组使用注意事项和细节

1) 数组是多个相同类型数据的组合,实现对这些数据的统一管理

2) 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
3) 数组创建后,如果没有赋值,有默认值
int 0,short 0, byte 0, long 0, float 0.0,double 0.0,char \u0000,boolean false,String null
4) 使用数组的步骤 1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组
5) 数组的下标是从 0 开始的
6) 数组下标必须在指定范围内使用,否则报:下标越界异常,比如
int [] arr=new int[5]; 则有效下标为 0-4
7) 数组属引用类型,数组型数据是对象(object)

总结

今日份学习结束了,今天上午起的有点晚,唉学的时间有点短,从下午三点学到11点。顶不住了,明天继续。奥利给!(里面的图片是截的学习视频上的)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面向工作编程的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值