Java教程

java基础(1)

本文主要是介绍java基础(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

【【Java基础】】 null不能用System.out.println()语句来输出 字符常量  ‘ ’中间有且仅有一个字符 数据范围和字节数不一定相关,例如float数据范围比long更加广泛,但是float是4字节,long是8字节。 字符串不是基本类型,而是引用类型。 浮点型可能只是一个近似值,并非精确的值   使用变量注意事项:          int a=1,b=2,c=3;  可以通过一条语句创建多个变量,不过不推荐这么写。          变量的使用不能超过作用域的范围,                    作用域:从定义一个变量开始,一直到直接所属的大括号结束为止。          没有进行赋值的局部变量不能直接使用,一定要赋值之后才能使用。 自动类型转换:          特点:代码不需要特殊处理,自动完成                    规则:数据范围从小到大 强制类型转换:          特点:代码进行特殊的格式处理,不能自动完成。          格式:范围小的类型  范围小的变量=(范围小的类型)原本范围大的数据; 注意事项:         1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。         2.byte/short/char都可以发生数学运算,例如加法“+”。         3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。         4.boolean类型不能发生数据类型转换。 ASCII字符值  48代表‘0’  65代表‘A’   97代表‘a’ char类型字符和int类型数字对照关系表(编码表):      ASCII码表: Amercian  Standard Code for Information Interchange  ,美国信息交换标准代码。      Unicode码表:万国码,也是数字和符号的对照关系,开头0~127部分和ASCII完全一样,但是从128开始含有更多字符。   取模(取余数):% 一旦运算当中有不同的数据类型,那么运算结果将会是数据类型范围大的那种。 任何数据类型和字符串连接的时候,结果都会变成字符串。   自增、自减运算符:     1. 单独使用:不和其他任何操作混合,自己独立成为一个步骤。     2.混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合等。 使用区别:      1.单独使用的时候前++和后++没有任何区别,也就是:++num和num++是完全一样的。      2.混合使用的时候,有重大区别:               A.如果是前++,那么变量会立刻马上+1,然后拿着结果进行使用。【先加后用】               B.如果是后++,那么首先使用变量本来的数值,然后再让变量+1。【先用后加】      3.变量才能使用自增自减运算符,常量不能使用   基本赋值运算符:   =    复合赋值运算符:   +=   -=  *=  /=  (复合赋值运算符其中隐藏了一个强制类型转换)   逻辑运算符&&  ||  !  只能用于boolean值。 与“&&” ,或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。   三元运算符格式:   数据类型  变量名称=条件判断 ? 表达式A :表达式B;    两种错误写法:             int result=c>d?0.6:9;                                         c>d?0.6:9; 方法 1.方法定义的先后顺序无所谓 2.方法应该定义在类中,方法的定义不能产生嵌套包含关系。 3.方法定义好了之后,不会执行的,如果想要执行,一定要进行方法的调用。 方法调用格式: 方法名称(); 4.如果方法有返回值,那么必须写上“return 返回值;”不能没有。 5.return后面的返回值类型必须和方法的返回值类型对应起来 。 6.对于一个void没有返回值的方法不能写return后面的返回值,只能写return而已; 7.对于void方法当中最后一行的return可以省略不写 8.方法当中可以存在多个return语句,但必须保证同时只有一个会被执行到,两个return不能连写。   Jshell 脚本工具是JDK9的新特性          使用场景:当我们编写代码非常少的时候,而又不愿意编写类,main方法,也不愿意去编译和运行,这个时候可以使用JShell          dos窗口中:      jshell + 回车   进入JShell                                   /exit  +回车   退出JShell     byte/short/char这三种类型在赋值的时候,如果右侧赋值的数值没有超过左侧范围,那么javac编译器将会自动隐式地为我们补上(byte)、(short)、(char)          1.如果没有超过左侧的范围,编译器补上强制。          2.如果右侧超过了左侧范围,那么直接编译器报错。          3.给变量赋值时,若右侧全部是常量,没有任何变量,那么编译器javac将会直接将让干个常量表达式计算得到结果。               short result=5+8;//右侧全部是常量,没有任何变量参与运算,编译之后得到的.class字节码文件当中相当于【直接就是】:short result=13;               右侧的常量结果数值,没有超过左侧范围,所以正确。这称之为“编译器的常量优化”。                  但是注意:一旦表达式当中有变量存在,那么编译器就不能进行这种优化。   switch语句的使用注意对象:      1.多个case后面的数据不可以重复。      2.switch后面小括号当中只能是下列数据类型:                         基本数据类型:byte/short/char/int                         引用数据类型:String字符串、enum枚举      3.switch语句格式很灵活:前后顺序可以颠倒,而且break语句还可以省略,“匹配哪一个case就从哪一个case往下执行,直到遇到break或者整体结束为止”。   while循环语句扩展格式:                                   初始化语句;                                   while(条件判断){                                             循环体;                                             步进语句;                                      }                                 初始化语句;                              do{                                      循环体                                      步进语句                                  }while();  分号不要忘记   for循环变量在小括号当中定义,只有循环内部才可以使用。while和do-while循环初始化语句本来就在外面,所以出来循环之后还可以继续使用 反循环次数确定的场景多用for循环,否则多用while循环。   dos窗口中  ctrl+c 结束死循环   IDEA常用快捷键:                         快捷键                                           功能                         Alt+Enter                                     导入包,自动修正代码                          Ctrl+Y                                           删除光标所在行                          Ctrl+D                                           复制光标所在行的内容,插入光标位置下面                          Ctrl+Alt+L                                     格式化代码                           Ctrl+/                                          单行注释,再按取消注释                            Ctrl+Shift+/                                选中代码注释,多上注释,再按取消注释                           Alt+Ins                                         自动生成代码,toString,get,set等方法                          Alt+Shift+上下箭头                       移动当前代码        println 换行打印     print不换行                     循环次数.for变量     数组名称.for变量(变量为i是正序,r是倒序)        生成for循环语句      shift+F6  (笔记本不行)把所选的值进行全局修改。      Ctrl+鼠标点击  查看JDK代码          return 有两个作用:第一停止当前方法,第二将后面的返回值还给调用处。return后面的“返回值”必须和方法名称前面的“返回值类型”保持对应。 方法的三要素:返回值类型、方法名称、参数列表。   方法的三种调用格式:       1.单独调用: 方法名称(参数);          2.打印调用:System.out.println(方法名称(参数));       3.赋值调用:数据类型  变量名称= 方法名称(参数); PS:返回值类型固定写为void,这种方法只能够单独调用,不能进行打印调用、赋值调用。 方法的重载与 参数个数、参数类型、参数的多类型顺序  相关;与 参数的名称、方法的返回值类型无关;   八进制是由数字0-7组成的,表达方式由数字0(零)开头的, 例:0347 ; 十六进制是由数字0-9和字母A-F组成的,表达方式由数字0(零)加上小写字母x开头的, 例:0x1F3C 。       【【  数组  】】 数组是一种引用类型,数组当中的多个数据类型必须统一,数组的长度在程序运行期间不可改变   数组常见的初始化方式:              动态初始化(指定长度): 数据类型[] 数组名称=new  数组类型[数组长度];       其中new代表创建数组的动作,右侧括号当中表示保存数据数,是一个int数字。              静态初始化(指定内容): 数组类型[] 数组名称=new 数组类型[]{};                                                   数据类型[] 数组名称={}; 静态初始化和动态初始话都可以拆分成两个部分,但是静态初始化的省略格式不能进行拆分,否则编译不通过。   直接打印数组名称,得到的是数组对应的:内存地址是哈希值。  访问数组元素的格式:  数组名称[索引值]                       索引值从0开始,直到“数组长度-1”为止。   使用动态初始化数组的时候,其中的元素将会自动用有默认值:                                                  整型         默认值为0                                                浮点型       0.0                                                字符型       '\u0000'  (打印出来不可见)                                                布尔型        false                                              引用类型        null   静态初始化也有默认值的过程,只不过系统会自动将默认值替换成大括号当中具体的数值。   java的内存需要划分为五个部分:         1.栈(Stack) :  存放的都是方法中的局部变量,方法的运行一定要在栈当中运行。                                      局部变量:方法的参数,或者是方法内部{}内部的变量。                                       作用域:一旦超出作用域,立刻从栈内存当中消失。         2.堆(Heap) : 凡是new出来的东西都在堆中。                                         堆内存里面的东西都有一个地址值: 16进制       堆内存里面的数据都有默认值(成员变量)         3.方法区(Method Area):存储.class相关信息,包含方法的信息。         4.本地方法栈(Native Method Stack):与操作系统相关。         5.寄存器(pc Register) :与CUP相关。           所有的引用类型变量都可以赋值为一个null值,但是代表其中什么都没有。 数组必须进行new初始化才能使用其中的元素,如果只是赋值了一个null,没有进行new创建,那么将会发生空指针异常: NullPointerException 获取数组的长度:  数组名称.length    这将会得到一个int数字,代表数组的长度;数组一旦创建程序运行期间,长度不可改变。   案例:将一个数组反转          初始化语句: int min=0,max=array.length-1          判断条件:       min<max          步进表达式: min++,max--          循环体:      用第三个变量倒手 int[] array={30,40,50,60,70,80}; for ( int min=0,max=array.length-1; min<max;min++,max--) { int temp=array[min]; array[min]=array[max]; array[max]=temp;}   数组可以作为方法的参数,当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。 一个方法可以有0、1、多个参数,但是只能有0或者1个返回值,不能有多个返回值。 如果希望一个方法中产生了多个结果数据进行返回,可以使用一个数组作为返回值类型。数组作为方法的参数和返回值,传递和返回的其实都是数组的地址值
这篇关于java基础(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!