java基础篇二

1、数据类型分类

在这里插入图片描述

int [] arry = new int [4];
System.out.println(arry[5]);
//数组越界异常 :ArrayIndexOutOfBoundsException

在这里插入图片描述

2、包装类

简单类型bytecharshortintlongfloatdoubleboolean
包装类ByteCharacterShortIntegerLongFloatDoubleBoolean
  • 简单类型直接存储堆栈,对应的引用类型封装了许多方法,可实现额外的处理功能。
包装类的转换

通过装包和拆包操作可以实现简单数据类型和引用数据类型之间的转换。
装包:将简单类型包装成对应的包装类
(1)调用方法:valueOf()
(2)如果-128<=X<=127,直接缓存;如果大于这个范围,直接new Integer 来创建 Integer对象。
拆包:将一个包装类的实例对象转换成一个简单类型。
方法: intvalue doublevalue

Integer a = 10;//装包
int i = a;//拆包
double d = a.doubleValue();//10.0
Integer c = Integer.valueOf("123")//123
//对于两个非new生成的Integer对象,进行比较时,如果两个变量的值在区间-128到127之间,则比较结果为true
//如果两个变量的值不在此区间,则比较结果为false
        Integer i1 = 100;
        Integer i2 = 100;
        System.out.println(i1 == i2);//true
        System.out.println(i1.equals(i2));//true

        Integer i3 = 200;
        Integer i4 = 200;
        System.out.println(i3 == i4);//false
        System.out.println(i3.equals(i4));//true
//Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true
//包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较
     Integer i = new Integer(100);
     int j = 100;
     System.out.print(i == j);    //true

//两个通过new生成的Integer变量永远不相等(new生成的是两个对象,其内存地址不同)。
 Integer i = new Integer(100);
Integer j = new Integer(100);
System.out.print(i == j);    //false
Integer i = new Integer(100);
Integer j = 100;
System.out.print(i == j); //false

3、JDK JRE JVM关系

JDK(Java Development Kit)Java开发工具包,主要包含了JRE、JVM等。
JRE(Java Runtime Environment)Java运行时环境,包括JVM以及Java基础API。
JVM(Java virtual Machine)Java虚拟机,是Java程序跨平台的关键。
在这里插入图片描述

4、变量和常量

变量分为实例变量、静态变量和局部变量。

int a;    //实例变量——堆
static int b;   //静态变量:不属于对象 ,只属于类本身 ——方法区
void fun() {
int c = 10;  //局部变量  ——虚拟机栈
System.out.println(c); //局部变量使用必须初始化,输出为10
System.out.println(a); //输出为0
System.out.println(b); //输出为0
}
//变量名可以由字母、数字、下划线(-)和美元符号($)组成
//变量名的第一个单词首字母小写,从第二个单词开始,每个单词首字母大写
 int a = 10; 
 int $a = 10;//不能用$字开头
 int a3 = 10;//不能用数字开头
 int a_b = 10;
//常量名所有字母都大写,单词之间用下划线连接
  final int B; //B叫做常量:第一次赋值之后,不能改变他的值
  B = 10;
 System.out.println(B);
 final int MONEY = 100000;
  //常量:在编译的时候统一进行处理
  //变量:在运行的时候才能知道他的值

5、运算符

  • 增量运算符(++)
    • ++a运算结果是操作数加1后的值
    • a++运算结果是操作数加1前的值
  • 按位与(&)
    11&13 0000 1001
  • 按位或(|)
    11|13 0000 1111
  • 按位异或(^)
    11^13 0000 0110
  • 按位取反(~)
    11 ——0000 1011
    ~11——1111 0100
  • 左移(<<)
    11<<1——0001 0110——22——112
    11<<2——0010 1100——44——11
    4
  • 右移(>>)
    11>>1——0000 0101——5——11/2
    11>>2——0000 0010——2——11/4
    • 左移乘法
    • 右移除法(符号位是啥补啥)
    • 无符号右移只补0
      • -1>>>1——0111 1111
  • 短路与(&&)
  • 短路或(||)
//  %为取模运算符
 System.out.println(-10%3);//-1
 System.out.println(-10%-3);//-1
 System.out.println(10%-3);//1
 System.out.println(10%3);//1

//   /——除运算符
  float f1 = 5/2;//2.0
  float f2 = (float)(5.0/2);//2.5
   float f3 = (float)5/2;//2.5
   float f4 = 5/(float)2;//2.5
int a = 1;
++a;
System.out.println(a);//2
int b = ++a;
System.out.println(a);//3
       int a = 1;
        a++;
        System.out.println(a);//2
        int b = a++;
        System.out.println(b);//2
        a = a++;
        System.out.println(a);//3
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值