一、基本数据类型
int(32),long(64),float,double,boolean ,char
溢出判断:
System.out.println("蓝桥杯练习第一天");Scanner scan = new Scanner(System.in);int a = scan.nextInt();System.out.println(a);int a1 = Integer.MAX_VALUE;System.out.println(a1);a1++;System.out.println(a1);
二、输入输出
1.首先应手动导入util包。
2.创建Scanner对象,参数为标准输入流System.in:
Scanner scan = new Scanner(System.in);
3.使用next()方法接收数据:
3.1.next()
接受读取不带有空格的字符串,next()函数将空格键,Tab键,Enter键当作结束符或者分隔符,开头遇到不会读取,结尾遇到即结束。效果如下:
3.2nextLine( )
接受读取整段字符串,结束符只有Enter键,遇到空格也不会停止。
3.3nextInt()
输入的字符类型为int类型,nextDouble()等其他函数与其功能大致一样,生成对应类型的字符。
三、数组
数组是用来存储固定大小的同类型元素。
特点如下:
1.数组中的元素在内存中是依次排列有序的;
2.数组一旦初始化完成,其长度就是确定的,而数组的长度一旦确定之后就不能修改;
3.数组索引从0开始。
初始化如下:
int[] array = new int[5];
int[] array1 = {1,2,3,4,5};
四、集合-Set(哈希表)
Set是一个不允许出现重复元素,并且无序的组合,主要实现类是HashSet;
特点:
可以用来去重和是元素无序;
记得导入util包。
Set<Integer> set = new HashSet<>();
set.add(1);//向集合中添加元素,成功为True,错误为False;
set.add(2);
set.add(2);
System.out.println(set.isEmpty());//判断集合中是否为空
System.out.println(set.size());//返回集合中元素的个数
System.out.println(set.contains(2));//判断集合中是否有此内容
System.out.println(set.remove(2));
System.out.println(set.size());//返回集合中元素的个数
set.clear();//清空集合中的所有元素;
System.out.println(set.size());
五、集合-List-ArrayList
ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它没有固定的大小的,可以添加或者删除元素;因此当我们需要创建一个 数组但又不知道其初始大小时,可以使用ArrayList集合。
List<Integer> list = new ArrayList<>();
list.add(1);//在集合末尾中添加指定的元素;
list.add(2);
list.add(3);
int len = list.size();//返回集合中元素的个数;
System.out.println(len);
System.out.println(list.get(0));//根据索引位置获取集合中对应元素的位置
System.out.println(list.isEmpty());//判断集合中的元素是否为空
System.out.println(list.remove(1));//移除指定索引位置的元素内容,并返回被删除的元素;
六、集合-Map-HashMap(散列表)
特点:
1. 它存储元素是以键值对的形式来进行存储的;
2.无序;
3.HashMap实现了Map接口,根据该键的HashCode值来进行存储数据,具有很快的访问速度;
Map<Integer,Integer> map = new HashMap<>();
map.put(1, 100);//在集合中添加元素
map.put(2, 101);
int a = map.get(1);//根据键来获取对应的值
System.out.println(a);
System.out.println(map.size());//获取键值对的个数
int b = map.getOrDefault(3, 404);//获取键对应的值·1,如果键值对中没有这个键,返回设置的默认值;
System.out.println(b);
七、栈
特点:先进后出;
Stack<Integer> stack = new Stack<>();
stack.push(1);//进栈
stack.push(2);
stack.push(3);
while(!stack.isEmpty()) {System.out.print(stack.pop()+" ");//出栈
}
八、队列
特点;先进先出;
Queue<Integer> queue = new LinkedList<>();
queue.add(1);
queue.add(2);
queue.add(3);
queue.peek();//peek() 返回队头元素,但不会删除;
while(!queue.isEmpty()) {System.out.println(queue.poll());//删除并返回队头的那个元素
}