java基本语法、数组、查找、排序
java基本语法、数组、查找、排序
b站韩顺平java基础
- java的特点
java的跨平台性:java一次编译可以到处执行,.java文件经过一次编译后变成.class文件(字节码文件)然后再经过java虚拟机(JVM)编译变成机器语言程序。
java开发的注意事项
一个.java文件中最多只能有一个public类,其他类的个数不限,每有一个类经过编译后就会生成一个.class文件。
java中的注释
单行注释 /
多行注释 /* */
文档注释
相对路径和绝对路径
…\ 代表上一级目录
变量
+号的使用
java数据类型
整数类型的细节
浮点数类型
注意声明float变量数字后面要加f
float a = 1.1//编译会出错 float b = 1.1f//编译正确
字符类型
char c1=97; System.out.println(c1);//输出为a char c2='a'; System.out.println((int)c2);//输出a对应的数字97 //char类型是可以进行运算的,相当于一个整数,因为他有对应的Unicode码 System.out.println('a'+10)//输出107
数据类型自动转换
类型自动转换时的细节
//进行运算时,精度低的数据类型自动转换成精度高的数据类型
int n1=10;
float d1=n1+1.1//错误 n1+1.1=>结果类型是double
double d1=n1+1.1//对,n1+1.1=>i结果类型是double
float d1=n1+1.1F//对,n1+1.1=>结果类型是float//char和byte之间不能互相转换
byte b1=10;
char c1=b1//错误,原因byte不能自动转换成char//byte、short、char他们三者之间可以计算,在计算时首先转换成int类型
byte b2=1;
byte b3=2;
short s1=1;
short s2=b2+s1;//错误,b2+s1=>int
byte b4=b2+b3;//错误,b2+b3=>int//boolean类型不参加类型自动转换
boolean pass=true;
int num1=pass;//错误,boolean不参与类型的自动转换//当等号右边都是常量的时候,编译器会自动合并不做类型转换
char c = 'a'+1//不会报错
char ch = c+1//会报错,因为等号右边有变量,编译器不会自动合并,编译器将自动类型转换将char类型转换成int,导致编译报错。
强制类型转换
自动类型转换的逆过程,将容量大的数据类型转换为小的数据类型。使用时要加上强制转换符(),但可能会造成精度降低或溢出。
int n1=(int)1.9;//结果n1为1,造成精度损失 int n2=(byte)2000;//结果n2为-48,造成数据溢出
强制类型转换的细节
类型转换练习题
基本数据类型和String类型的转换
三元运算符
标识符的命名规则和规范
Scanner类
原码、反码、补码
for循环
while循环
数组的声明
//第一种动态分配方式 double[] scores=new double[5]; //第二种动态分配方式 double[] scores; scores = new d[5]; //静态初始化 int[] a = {2,5,6,7};
数组的赋值机制
//基本数据类型赋值,赋值的方式是值传递 //n2的变化不会影响n1的值 int n1=10; int n2=n1; n2=80; System.out.println("n1="+n1);//n1=10 System.out.println("n2="+n2);//n2=80//数组在默认情况下是引用传递,赋的值是地址 //arr2 变化会影响到arr1 int[] arr1={1,2,3}; int[] arr2=arr1;//把arr1的地址赋给arr2 arr2[0]=10 for(int i=0;i<arr1.length;i++){System.out.println(arr1[i]);//arr1={10,2,3} }
冒泡排序
int[] arr = {24,4,45,34};
int temp = 0;
for(int i = 0;i<arr.length-1;i++){//一共排序arr.length-1次for(int j = 0;j<arr.length-i-1;j++){//每趟排序需要比较arr.length-i-1次if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}
二维数组
二维数组的内存布局
创建列数不确定的二维数组
/*创建一个二维数组
1
2 2
3 3 3
*/
int[][] arr = new int[3][];//创建二维数组,但是只确定一维数组的个数,一共有3个一维数组,但是
for(int i = 0;i<arr.length;i++){//遍历arr每一个一维数组//给每一个一维数组开空间new//如果没有给一维数组开空间,那么arr[i]就是nullarr[i]=new int[i+1];//遍历一维数组,并给一维数组中的每个元素赋值for(int j = 0;j<arr[i].length;j++){arr[i][j]=i+1;}
}
java基本语法、数组、查找、排序相关推荐
- [转载] java中对数组进行排序_如何在Java中对数组排序
参考链接: Java中main()的有效变体 java中对数组进行排序 Java Array is like a container that can hold a fixed number of t ...
- java中对数组进行排序_如何在Java中对数组排序
java中对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, ...
- java解码_Java数组已排序解码
java解码 排序是我们在计算机科学中学习的第一个算法. 排序是一个非常有趣的领域,它有大约20多种算法,而且总是很难确定哪种算法最好. 排序算法的效率是根据占用的时间和所需的空间来衡量的. 一些时间 ...
- Java中String数组的排序
使用Java compareToIgnoreCase 方法排序 这个方法我在上一篇文章已经说过如何使用了,也说明了它的原理 我们可以看一看:点击查看https://blog.janyork.com/i ...
- java对类数组进行排序_Java比较器类对数组进行排序
小编典典 [-]应该如何声明Java Comparator类以按其降序将数组的第一个元素排序 [-] 这是使用Java 8的完整示例: import java.util.*; public class ...
- java二维数组遍历排序,实现二维数组的按次序排序!!!
package com.huaxia.java2se; import java.util.Arrays; public class Array { static int c=0; static int ...
- Java中对数组的排序方法总汇分析
1.冒泡排序 public void bubbleSort(int a[]) {int n = a.length;for (int i = 0; i < n - 1; i++) {for (in ...
- Java基本语法——数组
数组(Array)是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理 数组的常见概念 数组名 下标(或索引) 元素 数组的长度 数组概述 数组本身是引用 ...
- java数组元素的排序_java学习之数组元素排序,冒泡排序和选择排序
java学习之数组元素排序 选择排序 *返回值类型 void *参数列表 int[] arr * 分析:选择排序 * 第一次arr[0]与arr[1-4]比较,总共比较4次 * 第二次arr[1]与a ...
最新文章
- Eclipse导入Spring Boot项目后pom.xml出现红叉的解决办法
- 特征值和特征向量(Eigenvalues and Eigenvectors)
- 《文献管理与信息分析》课程学习笔记
- 通过DataWorks数据集成归档日志服务数据至MaxCompute进行离线分析
- Processes and Threads 线程和进程的理解
- 如何编写一个高效的Testbench?
- 2018.9.8-9.8 统计学课程笔记(1)-从概率论到统计学
- 【考研数学】张宇:十月真题做题建议
- Photoshop使用教程 如何在线抠图
- 携程校招——携程海洋馆的海豚小宝宝(C++)
- django问题mysqlclient 1.4.0 or newer is required
- 数据杂谈:CIO和CTO的区别(首席信息官首席技术官)
- 【YBT2023寒假Day10 B】随机游走(记忆化搜索)
- C++:从入门到放弃[1]基础知识
- 吴恩达-DeepLearning.ai-05 序列模型(一)
- 2021-02-05
- 机器学习- MACHINE LEARNING
- Java项目:基于jsp+mysql+Spring+SpringMVC+mybatis的农产品网上销售系统
- 读论文《Natural Language Processing (Almost) from Scratch》
- 负片与水印效果(OpenCV)
热门文章
- (读书笔记)C语言 接口与实现0 --- 简介
- 计算机时代汉字发展例子,计算机时代的汉字文化情结
- 【美人松的高度3】 (C++语言)
- 【网络安全】常见的网路安全设备及功能作用总结
- 小程序 ios14系统(ios最新的版本) 访问接口失败,无返回体(其他版本正常)
- Leetcode 739:每日温度(超详细的解法!!!)
- PDF怎么转换成Word?给大家分享三种简单的转换方法
- gtx1080 驱动 linux,ubuntu16.04安装gtx1080ti驱动+配置CUDA8.0+CUDDNv6
- videoview 有声音没画面的可能原因
- jquery导航图片全屏滚动、首页全屏轮播图,各式相册