javase_基础语法

一、java概述

1、Java语言特点:纯面向对象(一切皆对象),平台无关(JVM屏蔽底层运行平台的差异),不同的平台有不同的JVM,JVM将程序翻译成当前操作系统能执行的程序,一次编译到处运行),健壮(指针,内存申请与释放影响健壮)。

2、Java两种核心机制:JVM,GC,此处有守护线程执行。

3、main函数可以保证该类的独立运行,它是程序的入口,被JVM调用.

4、java源文件以.java为扩展名,一个源文件只能有一个public class,且该class命名必须与文件名一致.

5、Java开发环境的安装,path配置,javac命令对java文件进行编译,java命令对生成的class文件进行执行.

二、标识符、关键字、常量、变量、基本数据类型的转换

1、标识符:(类名,方法名,变量名等可以自己命名的地方),字母数字_$,不能以数字开头,不能与关键字相同。

2、关键字:小写英文,编译器会以特殊方式标出。

3、常量:整形常量 123,实行常量 1.2,字符常量‘a’,逻辑常量 false,true,字符串常量“wangwei”,null常量,常量这个词用在另外的语境中表示不可变的变量final修饰.

4、变量:三要素(变量名,类型,作用域),其实就是内存一小块区域,必须先申请,然后赋值,才能使用,否则编译异常。

5、程序的执行过程:首先.java文件由java编译器编译为.class字节码文件,然后运行时类加载器把.class文件从硬盘load到内存,再通过字节码校验器,最后解释器到main方法开始执行.过程中内存管理如下:heap中放new出来的东西(heap有默认值),stack中放局部变量,data segment中放静态变量和 字符串常量,code segment中放代码。

6、类外面不能有任何代码,由此可见Java的纯面向对象。

7、变量分类:局部变量(方法体内),成员变量(方法体外,类内)或基本数据类型变量(4类8种、byte、char、short、int、long、float、double、boolean),引用数据类型变(class、interface、数组)。

8、基本数据类型:(有固定的表述范围和字段长度,不受平台影响,以保证它的可移植性)

1.布尔型:boolean取值只能是true和false.不能为null,不能用0和非0代表true和false,一般用在流程控制中.

2.字符型:java字符采用Unicode编码(全球统一编码、万国码包括全球字符),每个字符占2字节(也就是Unicode用2两个字节表示,最多65525个),可以用16进制编码形式表示例:char c=‘\u0061‘;,UTF-8是Unicode的实现方式之一,一种变长的字符编码,字母占1个字节,汉字占3个字节.

   *char c=‘ab‘;//报错,char c="a";//报错

*对字符进行转义,java使用‘\‘对其后的字符转换为其它的含义.

   例:String s0="ad\"as",s2="a\rb";//回车,\t//tab,s4="a\r\nb";//换行,window常这么用.

3.整数类型,可用8、10、16进制表示,8进制以0开头,16进制以0x或0X开头,java整形常量默认为int.

   但是注意:byte b=12;//正确  short s=12;//正确  long l =999999999;//报99999999超出int范围错,需要加L.

4.浮点类型,浮点类型默认为double,例:float f=1.2//编译报错  float f=1.2f//正确

9、基本数据类型的转换,多种类型混合运算时,容量小的自动转换为容量大的(自动提升),数据类型按容量大小排序如下:

byte,short,char->int->long->float->double;byte,short,char之间不转换,他们三者在计算时首先会转化为int.

10、隐式转换和强制转换的问题,例:

1.byte b = 1 + 1;        //正确,俩个常量相加在byte范围内不会报错

2.byte b = 1; b = b + 1;   //报错,b会自动提升为int,再+1还是int,赋值给byte报错

3.byte b = 1; b += 1;     //正确,隐式类型转换,相当于b=(byte)(b+1);   注意 b=(byte)b+1;是会报错的

4.byte b = 1; b = ++b;    //正确,隐式类型转换,相当于b=(byte)(b+1);

三、运算符

  1、算数运算符(+,-,*,/,++,--,%)     1/100==0;//只保留整数部分;1%100=1;//取模运算

  2、赋值运算符(=,+=,-=,*=,/=,%=)    a=b=c=5;//可以

  3、关系运算符(==,>=,<=,!=,<,>)     运算结果都是boolean,"=="乎误写为"="

  4、逻辑运算符(&&,!,||,&(短路与),|(短路或),^(异或,两侧不同,则为true;)),连接boolean类型的表达式

  5、字符串连接运算法(+)          操作两侧只要有一个字符串,计算结果则为字符串

  6、位运算符(<<,>>,>>>,|,&,^,~),直接对二进制进行运算  &,|,^,既是逻辑运算符又是位运算符

位运算符实例:

  1.最有效率的方式算出2乘以8等于几?  2<<3;  //左移n位乘2的n次,右相反

  2.对两个整数进行交换不需要第三方变量

int n=2; m=1;

n=n^m;m=n^m;n=n^m;  //可用于加密解密

  3.求一个数(2进制或10进制)的16进制?  (进制之间的相互转换代码实现)

     int k=num&15;k>>>4;    //通过&15然后右移四位循环执行

7.三元运算符    (条件表达式)?表达式1:表达式2;

四、语句

  1、if语句,三种格式if;if else;if elseif else.每一种格式都是单条语句,条件表达式只看运算结果是true还是false.

  2、if(条件表达式){..} else{..} 结构  简写格式: 变量 = (条件表达式)?表达式1:表达式2;可以简化写法,但是因为是运算符,必须有运算结果.

  3、注意如下语句的区别 int i=3; 1.if(i>1){..}else if(i>2){..不执行}  2.if(i>1){..} if(i>2){..执行}

  4、switch语句.switch 中default可以放在任意位置,但是都是最后被执行,除非break,对byte,char,short,int适用,5.0可以判断枚举,7.0可以判断字符串.

  *对区间判断和结果为boolean的时候要用if.

  5、循环语句

1.for和while可以互换,唯一的区别是循环增量的内存驻留时间不同.

2.for(;;) while(true)

3.break必须用在switch和loop中,例如直接在if语句中写berak报编译错误.

4.break,continue,return,throw 异常对象,下面不能写任何东西,否则编译错误.

5.break.contiue用在内外层循环中(给循环起名),q:for(int i=0;i<10;i++){c:while(i==0){break q;}}

时间: 2024-10-10 04:24:48

javase_基础语法的相关文章

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

jQuery安装和基础语法

1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 CDN 中载入 jQuery <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 许多用户在访问其他站点时,已经从百度.又拍云.新浪.谷歌或微软加载过 jQuery.所有结

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

IOS_OC_基础语法

1.YES与NO Object-c 提供了 BOOL 类型, 但这个BOOL 类型和 C++里的并不一样: 在C++里一切非 0 值的东西都 为 true,而为 0 值的为 false.但是 Object-c 里 1 为 true 并被宏定义为 YES=1,0 为 false 并被宏定义为 NO=0. + (BOOL)isEquals:(int)x with:(int)y { return x - y; } if ([Provider isEquals:10 with:1021]) {// ==

less以及SCSS基础语法

less 1.注释: //这种注释不能够编译到CSS 文件中 /*这种注释 能够编译到CSS 文件中*/ 2.less 的基础语法 (1).声明变量: @变量名 : 变量值 使用变量: @变量名 >>>变量使用的基本原则: 多次频繁出现的值,后期需要统一修改的值,牵扯到数值运算的值,推荐使用变量 >>>less 中的变量类型 ①数值类: 不带单位的 123, 带单位的 1px ②字符串类型: 不带引号的 red #FF0000 带引号的"hahhaha&quo