Java-基础知识2

来源:互联网 发布:windows经典主题图片 编辑:程序博客网 时间:2024/06/18 09:16

<span style="font-size:18px;">一.常量</span>
<span style="font-size:18px;">定义:在程序中不会变化的数据</span>
<span style="font-size:18px;">分类:1.整数,2.小数,3.布尔型,4.字符,5.字符串,6.null</span>
<span style="font-size:18px;">对于整数,Java有三种表现形式:</span>
<span style="font-size:18px;">1.十进制:0~9</span>
<span style="font-size:18px;">2.八进制:0~7,用0开头表示</span>
<span style="font-size:18px;">3.十六进制:0~9、A~F,用0x开头来表示</span>
<span style="font-size:18px;">二.变量</h2><div>定义:将不确定的数据进行存储,需要在内存中开辟一个空间</span>
<span style="font-size:18px;">作用:方便于运算</span>
<span style="font-size:18px;">特点:变量空间可以重复使用</span>
<span style="font-size:18px;">什么时候使用变量:只要数据不确定的时候,就定义变量</span>
<span style="font-size:18px;">变量空间的开辟需要什么要素呢?</span>
<span style="font-size:18px;">1.这个空间要存储什么类型的数据?  数据类型</span>
<span style="font-size:18px;">2.这个空间叫什么名字?  变量名称</span>
<span style="font-size:18px;">3.这个空间的第一次的数据是什么?  初始化值</span>
<span style="font-size:18px;">变量的作用域和生存期:</span>
<span style="font-size:18px;">作用域:从变量定义的位置开始,到该变量所在的那对大括号结束</span>
<span style="font-size:18px;">生命周期:变量从定义开始就在内存中活了,变量到达它所在作用域 的时候就在内存中消失了</span>
<span style="font-size:18px;">数据类型分类:</span>
<span style="font-size:18px;">1.基本数据类型:byte(一个字节)、short(两个字节)、long(八个字节)、int(四个字节)、float(四个字节)、double(八个字节)、char(两个字节)、boolean</div><div></span>
<span style="font-size:18px;">2.引用数据类型:class(类类型)、接口(interface)、数组([ ])</span>
<span style="font-size:18px;">三.类型转换</span>
<span style="font-size:18px;">基本数据类型的级别:(byte、char、short)--->int-->float-->long--></span>
<span style="font-size:18px;">自动类型转换:把低级别的值赋给高级别的变量,系统可以自动转换。</span>
<span style="font-size:18px;">强制类型转换:强行把一个高级别的数值赋给一个低级别的变量,有可能损失精度。</span>
<span style="font-size:18px;">四.运算符</span>
<span style="font-size:18px;">1.算术运算符:+、-、*、/、%、+(字符串连接)、++、--</span>
<span style="font-size:18px;">2.赋值运算符:=、+=、-=、/=、%=</span>
<span style="font-size:18px;">3.比较运算符:==、!=、<、>、<=、>=、instanceof,特点是运算结果,要么true,要么false</span>
<span style="font-size:18px;">4.逻辑运算符:&(与)、|(或)、!(非)、^(异或)、&&(短路与)、||(短路或)</span>
<span style="font-size:18px;">作用:连接布尔表达式</span>
<span style="font-size:18px;">特点:</span>
<span style="font-size:18px;">&--只要两边布尔表达式有一个为false,结果则为false;都为true,结果才为true</span>
<span style="font-size:18px;">|--两边只要有一个为true则为true;都为false,结果才为false</span>
<span style="font-size:18px;">^--两边相同则为假,两边不同则为真</span>
<span style="font-size:18px;">&&--如果左边为假,则右边不运算</span>
<span style="font-size:18px;">&--无论左边是否真假,右边都运算</span>
<span style="font-size:18px;">||--如果左边为真,则右边不运算</span>
<span style="font-size:18px;">|--无论左边是否为真,右边都运算</span>
<span style="font-size:18px;">面试题1:1%5=1,那么1%-5=?,-1%5=?,第一个为1,第二个为-1。   </span>
<span style="font-size:18px;">结论:如果出现负数,则只看被除数的正负号来决定结果的正负。</span>
<span style="font-size:18px;">面试题2:int a = 3,b;<span style="white-space:pre"> </span>b = a++;<span style="white-space:pre"></span>问a为多少,b为多少?   答案:a为4,b为3,因为a会先赋值再自增。</span>
<span style="font-size:18px;">5.位运算符:<<(左移)、 >>(右移)、 >>>(无符号右移)、 &、 |、^、 ~(反码)、 </span>
<span style="font-size:18px;"><<:一个数x往左移y位,结果为x乘以2的y次幂</span>
<span style="font-size:18px;">>:一个数x往右移y位,结果为x除以2的y次幂</span>
<span style="font-size:18px;">>>和>>>的区别:第一个右移最高位是啥就补啥,第二个不管最高位是啥都补零。</span>
<span style="font-size:18px;">结论:左移越移越大,右移越移越小</span>
<span style="font-size:18px;">一个数异或同一个数两次还是那个数,可以用于加密算法。</span>
<span style="font-size:18px;">6.三元运算符:(条件表达式)?表达式1:表达式2;     如果条件为真,那么执行表达式一;如果为假,那么执行表达式二。</span>
<span style="font-size:18px;">特点:三元运算符运算完必须有结果</span>
<span style="font-size:18px;">五.转义字符</span>
<span style="font-size:18px;">定义:通过\来达到转变字母符号含义的目的</span>
<span style="font-size:18px;">常见搭配:</span>
<span style="font-size:18px;">\n:换行</span>
<span style="font-size:18px;">\t:制表符</span>
<span style="font-size:18px;">\b:退格</span>
<span style="font-size:18px;">\r\n:换行</span>
<span style="font-size:18px;">六.语句</span>
<span style="font-size:18px;">程序流程控制:判断结构、选择结构、循环结构</span>
<span style="font-size:18px;">判断结构的几种形式:</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">只要有一个满足就结束,if除了可以判断数值,还可以判断区间、布尔值,switch判断区间很费劲,不能判断布尔值。</div><div></div><div></div><div>选择结构格式</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">switch(表达式){</span></span>
<span style="font-size:18px;">case 数值1:<pre>执行语句1;break;case 数值1:执行语句2;break;...default:执行语句;break;}</span>工作原理:用小括号的变量值依次和case后面的值进行对比,和哪个case后面的值相同了,就执行哪个case后面的语句,否则执行default后面的语句。特点:1.被选表达式只接受4个类型的值,byte、short、int、char、 枚举2.default可以写在switch结构中的任意位置,不管放在哪,程序都会从第一个case开始执行,如果将default语句放在了第一行,如果case都不匹配,则到第一行执行default,且执行完还要继续执行,直到遇到break或语句结束。所以break的作用是停止循环。循环结构的几种表现形式:1.while循环while(条件表达式){    执行语句;}</span>特点:先判断,再循环。2.do while循环    执行语句;}while(条件表达式);</span>特点:至少执行一次,再判断。3.for循环<pre>    执行语句3;}</span>执行顺序:1--2--3--4特点:初始化表达式1只执行一次,然后在2、3、4之间循环,条件不满足时循环结束。while和for的区别:如果需要定义变量控制循环次数,建议使用for。而且for比较节省内存,因为循环结束后,变量就在内存中被释放。break和continue:1.应用范围不同,break应用于选择结构和循环结构,而continue只应用于循环结构。2.含义不同,break是停止循环并执行下面的代码,continue是停止本次循环,进入下次循环。3.这个两个语句下面都不能有任何语句,因为执行不到。标号,我们可以给不同的循环定义不同的标号,这样可以在任意位置结束任意想要停止的循环。七.语句嵌套循环嵌套:形象的说法是大圈套小圈。练习:打印直角三角形,不是规律的规律1.如果尖朝上,那么改变循环条件,让条件随外循环变化。2.如果尖朝下,那么改变初始化值,让初始化值随外循环变化。练习代码:public static void main(String[] args) {/*打印一个长方形for(int x=0;x<4;x++){for(int y=0;y<10;y++){System.out.print("*");}System.out.println();}*//*打印一个尖朝下的直角三角形for(int x=0;x<5;x++){for(int y=x;y<5;y++){System.out.print("*");}System.out.println();}*//*打印一个尖朝上的直角三角形for(int x=0;x<5;x++){for(int y=0;y<=x;y++){System.out.print("*");}System.out.println();}*//*打印一个由数字组成的尖朝上的直角三角形for(int x=1;x<6;x++){for(int y=1;y<=x;y++){System.out.print(y);}System.out.println();}*//*打印一个99乘法表,可以看做尖朝上的直角三角形,所以更改循环条件for(int x=1;x<=9;x++){for(int y=1;y<=x;y++){System.out.print(y+"*"+x+"="+x*y+"\t");}System.out.println();}*///打印一个尖朝上的等腰三角形for(int x=0;x<6;x++){for(int y=x;y<5;y++){System.out.print(" ");}for(int z=0;z<=x;z++){System.out.print("*"+" ");}System.out.println();}}}</span>八.函数定义:就是定义在类中的具有特定功能的一段独立程序,别称方法格式:执行语句;return 返回值;}</span>返回值类型:函数运行后的结果的数据类型参数类型:形式参数的数据类型形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数实际参数:传递给形式参数的具体数值return:用于结束函数返回值:该值会返回给调用者,当函数没有具体的返回值时,返回值类型可以用void表示特点:1.定义函数可以将功能代码进行封装,便于对该功能进行复写。2.函数只有被调用才会被执行。3.函数的出现提高了代码的复用性。4.对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的 return语句如果在最后一行可以省略不写。5.函数中只能调用函数,不可以在函数内部定义函数。6.定义函数时,函数的结果应该返回给调用者,交由调用者处理。7.可以自定义一个访问权限。如何定义一个函数?函数其实就是一个功能,定义函数就是实现功能,通过两个明确来完成:1.明确该功能的运算完的结果,其实是在明确这个函数的返回值类型。2.在实现该功能的过程中,是否有未知内容参与了运算,其实就是在明确这个函数的参数列表。作用:1.用于定义功能2.用于封装代码,提高代码的复用性函数的重载:在一个类中,如果出现了两个或者两个以上的同名函数,只要它们的参数个数,或者参数的类型不同,即可称之为重载。辨别技巧:当函数名同名时,只看参数列表,和返回值类型没关系。
<span style="font-size:18px;"></pre><pre name="code" class="java">初始化表达式;
<span style="font-size:18px;">do{
<span style="font-size:18px;">for(初始化表达式1;循环条件表达式2;循环后的操作表达式4){
<span style="font-size:18px;">public class ForForDemo {

<span style="font-size:18px;">修饰符 返回值类型 函数名 (参数类型   形式参数){

0 0