数据类型转换和数组

变量和数据类型
数据类型:4类8种

整数:byte(1字节)、short(2字节)、int(4字节)、long(8字节)
浮点数:float(4字节)、double(8字节)
字符:char(2字节)
布尔:boolean(1字节)

一个整数没有特殊说明,默认就是int,如果要定义成long类型就必须加上L
一个小数没有特殊说明,默认就是double,如果要定义float类型就必须加上F

变量的定义
数据类型 变量名 = 值;
变量的使用:直接使用变量名就是使用变量中的值
变量可以多次赋值,变量中的值以最后一次赋值为准
变量可以定义的同时赋值,也可以先定义后赋值

数据类型转换
为什么要数据转换,Java是一种强类型语言,如果两个数据的类型不一致,那么是不能参与运算的,需要转换为同一种类型才能运算。

short s = 10;
double d = 3.14;
//short + double = int + double == double + double
double d1 = s + d;

自动转换
数据范围小的转换成数据范围大的类型
(byte、short、char)—>int—>long—>float—>double
注意:byte、short、char这三种数据类型参与运算时,会无条件先住转成int再参与运算

强制类型转换
数据范围大的转换为数据范围小的类型
格式:
数据范围小的类型 变量名 = (数据范围小的类型)数据范围大的值

数组
概念:好比一个容器,可以保存多个变量/数据
特点:数组容器中所有数据的数据类型都时一致的、数组在程序运行时长度时固定的
元素:数组中的数据叫做元素

数组定义格式
1.数据类型[ ] 数组名 = new 数据类型[长度]
指定数组的长度,每一个元素的值由系统赋默认值
长度表示该数组中元素的个数
例:定义一个数组,保存我们班所有人的年龄
int[ ] ages = new int[58];
注:
整数类型: 默认值就是0
浮点数类型: 默认值就是0.0
字符类型: 默认值是空格
布尔类型: 默认值是false
String类型: 默认值 null

2.数据类型[ ] 数组名 = new 数据类型[ ]{值1,值2…}
指定数组的每个值,系统自动计算到底有多少个元素
例:定义数组,保存1-10这些数字
int[] nums = new int[]{1,2,3,4,5,6,7,8,9,10};

3.数据类型[ ] 数组名 = {值1,值2…}
语法糖格式
例:定义数组,保存1-10这些数字
int[] nums = {1,2,3,4,5,6,7,8,9,10};
通过索引访问数组元素

索引:数组中元素的编号,但是从0开始的,也叫做下标
访问元素:数组名[索引]
数组的长度属性:数组名.length
数组原理内存图

了解Java虚拟机内存划分
栈区(stack):运行方法、保存变量
堆区(heap):保存对象(保存new出来的东西)
方法区(method area):保存.class文件

一个数组内存图
在这里插入图片描述多个独立数组内存图
在这里插入图片描述两个引用指向同一个数组的内存图
在这里插入图片描述数组常见异常
数组跨界异常
产生原因:程序员访问了不存在的索引
解决:修改索引,不要超过 数组.length-1
NullPointerException:空指针异常
产生原因:清空数组名的地址,再访问数组的元素
解决:不清空或者清空了不访问

遍历输出

public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4, 5 };
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

idea快捷键 array.fori
数组常见操作
1.遍历
2.获取最大值或者最小值
3.数组反转

数组作为方法的参数和返回值
1.数组作为方法的参数
数组作为方法的返回值,返回的是数组的内存地址

psvm{
		int[] nums = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
        test4(nums);
   	}
	//数组作为参数
    public static void test4(int[] nums){
        for(int i = 0;i<nums.length;i++){
            System.out.println(nums[i]);
        }
    }

2.数组作为返回值

psvm{
		int[] num = getHccj(5, 6);
        for (int i = 0; i < num.length; i++) {
            System.out.println(num[i]);
        }
	}
	//数组作为返回值
    public static int[] getHccj(int num1, int num2) {
        int he = num1 + num2;
        int cha = num1 - num2;
        int cheng = num1 * num2;
        int ji = num1 / num2;
        int nums[] = {he, cheng, cha, ji};
        return nums;
    }

方法的参数为基本类型时,传递的是数据值. 方法的参数为引用类型时,传递的是地址值.

展开阅读全文

Python数据分析与挖掘

01-08
92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元   为什么学习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。       从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。    本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。   二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。   三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。   四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。   五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。
©️2020 CSDN 皮肤主题: 游动-白 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值