java基础语法教程((纯干货)java基础学习总结——基础语法)java教程 / Java基础语法详解...

wufei123 发布于 2024-04-15 阅读(44)

标识符

关键字

JAVA基础数据类型3.1. java常量

从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击个.exe文件时,运行起来的时候实际上是整个.exe文件被放在了在内存里面,然后操作系统找到main方法,也就是程序的入口,然后就开始执行了。

执行的过程之中,会不断地在内存里面分配一些区域,变量在内存里面就是一小块区域,变量有两个概念,一个是变量的名字,另一个是变量的值,即这一小块区域是有名字的,里面装着一个值,因此以后要想访问这小块区域里面的内容就可以根据这小块区域的名字来访问了。

因此,变量的本质就是一小块内存区域就变量来说,该在内存里面分配多大的存储空间呢?不同的变量类型分配不同大小的存储空间,每一个变量都是属于特定的数据类型的,声明成不同的数据类型,它就在内存里面分配不同的存储空间。

变量作用域:变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了3.3. java变量的分类

3.4. java局部变量与成员变量

3.5. java数据类型划分

java数据类型讲解4.1.boolean——布尔型

4.2.char——字符型

全球的文字放到计算机里面表示全是0和1,Unicode是统一了全世界国家文字的一种编码方式,用这样的编码可以把全世界国家的文字连接在一起Unicode编码又分为两种,一种是Utf-8,另一种是Utf-16。

JAVA所采用的是Utf-16,每一个字符占2个字节,任何国家的文字放到Unicode里面都是占2个字节4.3.整数类型

C语言编译好的程序为什么不能移植,如把.exe文件放到Linux下是执行不了的,一个很大很大的原因在于C语言定义的变量在不同的操作系统上所占的大小是不一样的,声明一个int类型的变量,在Windows下面占32位,但放到Linux下面就有可能只占16位,那么这时候很可能表示的大小就不一样了,在Windows下声明一个很大的数,在Linux下面很可能就会溢出。

因此这就是C语言为什么在编译完成之后不能移植的原因4.4.浮点类型

4.5.基本数据类型的转换

类型转换测试1 public class TestConvert { 2 public static void main(String arg[]) { 3 int i1 = 123;4 int i2 = 456; 5 double d1 = (i1+i2)*1.2;//系统将转换为double型运算 6 float f1 = (float)((i1+i2)*1.2);//需要加强制转换符 7 byte b1 = 67;

8 byte b2 = 89; 9 byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需要强制转换符10 System.out.println(b3);11 double d2 = 1e200;12 float f2 = (float)d2;//会产生溢出13 System.out.println(f2);14 float f3 = 1.23f;//必须加f15 long l1 = 123;16 long l2 = 30000000000L;//必须加l17 float f = l1+l2+f3;//系统将转换为float型计算18 long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)19 }20 }

运算符

5.1.算术运算符(自加和自减运算符)

5.2.逻辑运算符

5.3.赋值运算符

5.4.字符串连接符

5.5.表达式

5.6.三目运算符

语句

1.1. 条件语句if语句

分支语句 (switch语句)

1.2. 循环语句for循环语句

学会画内存分析图分析别人写的程序,这样就很容易分析出规律,分析出规律也就明白了别人的算法,也就很容易读懂别人的程序。在内存中分析result=1!+2!……+10!的算法

分析到i等于3以后,基本上已经得到规律了,这个程序要计算的就是:result = 1!+2!+3!……+10!由此可以看出,懂得画内存去分析程序对读懂别人的程序是大有裨益的以后读别人的程序的时候,觉得难读懂的时候就画内存分析。

学习别人的算法的最好的途径是分析别人写的程序,分析的过程结合内存分析是最好的做法。while循环和do while循环

方法

方法执行到return语句后,这个方法的执行就结束了,方法可以有返回值,但可以不用这个返回值方法首先要定义,然后才能调用1 public class TestMethod{ 2 public static void main(String args[]){ 3 m(); 4 m1(3); 5 m2(2,3); 6 int i = m3(4,5); 7 System.out.println(i); 8 } 9 //以下定义的都是静态方法,静态方法可以在main()方法里面直接调用10 public static void m(){11 System.out.println("Hello!");12 System.out.println("孤傲苍狼");13 }14 15 public static void m1(int i){16 if(i==5){17 return;18 }19 System.out.println(i);20 }21 22 public static void m2(int i,int j){23 System.out.println(i+j);24 }25 26 public static int m3(int i,int j){27 return i+j;28 }29 }。

变量的作用域变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了递归调用递归:在一个方法内部对自身的调用就称为递归

整个方法执行在内存中执行的过程如下图所示:

范例:使用递归计算第5个斐波那契数列数1 /*计算第5个斐波那契数列数*/ 2 /* 3 斐波那契数列特点:f(1)=1,f(2)=1,f(3)=f(1)+f(2),f(4)=(f2)+(f3)……依次类推。

4 即后一个数都是等于前两个数的和,这样的数列就是斐波那契数列 5 */ 6 /* 7 使用递归调用的方法计算 8 */9 public class Fab{10 public static void main(String args[]){11 System.out.println(f(5));12 }13 14 public static int f(int n){15 if(n==1||n==2){16 return 1;17 }else{18 return f(n-1)+f(n-2);19 }20 }21 }。

整个在内存中执行过程如下图所示

程序的执行过程

最后,我自己是一名从事了多年开发的JAVA老程序员,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,可以送给每一位喜欢java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【交流】,即可免费获取。

作者:在线编程教学来源:搜狐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

新闻列表 新闻97441