黑马程序员_基础语法笔记

来源:互联网 发布:黄海波真相 知乎 编辑:程序博客网 时间:2024/06/06 07:26

一:数据类型

数据类型分为:基本数据类型和引用数据类型

引用数据类型是:类(class),接口(interface),数组

基本数据类型是:布尔型(boolean),字符型(char)和数值型

数值型分为整数类型(byte,short,int,long)

浮点类型(float,double)

八大基本数据类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)、char(1字节)、boolean(1字节) 

自动类型转换:从低级别到高级别,系统自动转的;

强制类型转换:什么情况下使用?把一个高级别的数赋给一个别该数的级别低的变量;

级别从低到高为:byte,char,short(这三个平级)-->int-->float-->long-->double

二:运算符号:

1)、算术运算符。

+ ,-, *, /, %   %:取余数,通过%10可以得到个位数

+:连接符。

++,-- 自增、自减。

2)、赋值运算符。

=  ,+=, -=, *=, /= ,%=

3)、比较运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。 

4)、逻辑运算符。

& , | , ^ , ! ,  &&  , ||

逻辑运算符除了 !  外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。否则就是false。

|:只要两边都为false结果是false,否则就是true

^:异或:和或有点不一样。

 两边结果一样,就为false。

 两边结果不一样,就为true.

& 和 &&区别: & :无论左边结果是什么,右边都参与运算。

&&(与短路):如果左边为false,那么右边不参数与运算。

| 和|| 区别:|:无论左边结果是什么,右边都参与运算。 ||(或短路):如果左边为true,那么右边不参与运算。

5)、位运算符:用于操作二进制位的运算符。

<<  >>   >>>(无符号右移)

2>>3=2/2^3=2/8=0

2<<3=2*2^3=2*8=16

>>和>>>的区别:

>>:最高位补什么由原有数据的最高位值决定

如果是0则补0,如果是1则补1

>>>:无论最高位是什么右移后用0补

三:语句

If语句:实现条件分支结构

If else语句:判断条件是否成立来执行的

switch语句:对整形表达式的值进行计算,不同取值有不同的程序段

while语句:判断条件是否成立来循环

do while语句:先执行一次循环体在判断表达式

for语句:可以控制循环次数

当判断固定个数的值的时候,可以使用if,也可以使用switch。建议使用switch,效率相对较高。

while和for可以进行互换。

区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。

break:作用于switch ,和循环语句,用于跳出,或者称为结束。

break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。

 

continue:只作用于循环结构,继续循环用的。

作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。

四:数组

一维数组:用于存储同一类型数据的一个容器。

好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。

如何在java中表现一个数组呢?三种表现形式。

1)、数据类型[] 数组名 = new 数据类型[元素的个数];

2)、数据类型[] 数组名 = {元素1,元素2...};

3)、数据类型[] 数组名 = new 数据类型[]{元素1,元素2...};

  示例:遍历并打印数组元素

<span style="font-size:14px;">package com.itheima;public class ArrDemo {public static void main(String[] args){int[] arr = new int[]{1,3,6,7,8,95,4,6};for(int i=0;i<arr.length;i++){System.out.println("arr["+i+"]"+"="+arr[i]);}}}</span>

选择排序:

思路:拿第一个元素依次与其他元素比较,如果大于其他元素则互换,经过第一轮比较后第一个元素为最小值,然后再拿第二个元素比较,以此类推

示例:

package com.itheima;public class ArrSelect {public static void main(String[] args){int[] arr = {1,5,4,9,8,7,66,1,2,345,6};//定义一个数组for(int i=0;i<arr.length;i++)//{for(int x=i+1;x<arr.length;x++){if(arr[i]>arr[x])//符合条件就交换内容{int num = arr[i];arr[i] = arr[x];arr[x] = num;}}}for(int i : arr){System.out.println(i);}}}

冒牌排序:

数组从第一个元素到倒数第二个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换,则最大的元素到了最右边

以此类推当只有第一和第二个元素相互比较时结束

示例:

package com.itheima;public class ArrDemo {public static void main(String[] args){int[] arr = {1,5,4,9,8,7,66,1,2,345,6};<span style="font-family: Arial, Helvetica, sans-serif;">//定义一个数组</span>for(int i=0;i<arr.length-1;i++){for(int x=0;x<arr.length-1-i;x++){if(arr[x]>arr[x+1])<span style="font-family: Arial, Helvetica, sans-serif;">//符合条件就交换内容</span>{int num = arr[x];arr[x] = arr[x+1];arr[x+1] = num;}}}for(int i : arr){System.out.println(i);}}}


二维数组:数组中的数组

表现形式:

数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];



1 0
原创粉丝点击