java 总结学习一

1 , javascript字符集:
javascript采用的是Unicode字符集编码。
为什么要采用这个编码呢?
原因很简单,16位的Unicode编码可以表示地球人的任何书面语言。这是语言 国际化的一个重要特征。(大家也许见过用中文写脚本,比如:function 我的函数() {}  );
Javascript中每个字符都是用2个字节表示的。(因为是16位编码)

2 ,大小写敏感:
js是一种区分大小写的语言。
注意下:以前我也犯过的错误。
HTML是不区分大小写的。经常看见有人这么写,
<input type=”button” onClick=”a()” /> (这样写是对的)
如果放到JS中,就必须使用onclick(小写哦!)
同时XHTML中也只能使用小写。
这个我们并不需要太关心,象这种问题,其实都可以自己给自己定一个标准,自己写程序的时候全部小写。
另外每行程序后 分号 也是一样,我们都写上。

3 ,注释:
单行:
//   注释1
/*   注释2  */ 
多行:
/*  注释3
*  注释3
*  注释3
*/

4 ,标识符:
标识符就是一个名字,用来命名变量和函数。
规则:第一个字母必须是字母,下划线(_),或美圆符号($)。
为什么第一个字母不能为数字?
如果第一个为数字,js很容易就把它当作数字处理了,那么命名就没意义了,js规定了后,就很容易的区分了标识符和数字了。

5 ,直接量:
就是程序中直接显示出来的数据值。
比如:12  , 1.2  , “ hello “ , true ,  null  , [1,2,3,4]
这些都是直接量。

6 ,保留字和关键字:
具体是哪些,可以去google.cn。
其实我们只要不取一些特郁闷的名字,都不会冲突的。

7 ,js数据类型:
3种基本的类型;数字,字符串和布尔值。
2种小数据类型:null 和 undefined . (为什么叫小数据类型?因为他们只定义了一个值)
1种复合类型:object. (在这个类型中,它的值可以是基本数据类型,也可以是复合类型,比如其他的object. )
注意:在对象中有一个特殊的对象----function.(它是一个可以执行代码的对象.)

其他的一些对象:
数组:
Date类 : 是日期的对象。
RegExp类: 正则表达式的对象。
Error 类:js中发生错误的对象。

8 ,使用数据类型注意的地方:
1):数字:
由于数字有什么8进制,10进制,16进制等。。。
八进制:var num = 011; //以"0"开头
十六进制:var num =0x1f; //以"0x"开头
所以对于js这个都能识别的语言来说,就必须得注意。
alert(377);   // 377
alert(0377);    //255   =  3 * 64 + 7 * 8  + 7 * 1

进行算术运算有个重要的对象:Math.
具体可以去网上下载手册,查询里面的方法。

2个有用的函数:isNaN()和isFinite()
isNaN() : 用于检查其参数是否是非数字值。// 提示:是非数字哦。(not a number)
document.write(isNaN(0) )  //返回false
document.write(isNaN(5-2) ) //返回false
document.write(isNaN ("Hello") ) //返回true

isFinite(number) 函数用于检查其参数是否是无穷大。
如果number是有限的,则返回true. 如果 number 是 NaN(非数字)或者是无穷大,则返回false;

2):字符:
‘you’re right’;
这样写的话js会误以为 在you字母后就结束了,引起错误。
所以当遇到这种情况的时候,必须用到转义。
我们可以这么写:
‘you\’re right’;
另外:你可以 google.com搜索 转义序列表 。

字符串的简单操作例子:
var a = "cssrain";
var b = a.charAt(a.length-1); // 从字符串a中截取最后一个字符。  输出:n
var c = a.substring(0 , 2);  // 从字符串a中截取第1,2个字符。 输出:cs
var d = a.indexOf(‘s‘);   // 从字符串a中查找第一个s出现的位置。 输出:1 
从例子可以看出,基数都是从0开始的。
var e = a.substring( a.length-1 ); //可以看出,substring第2个参数不写的话,
//默认 是到最后。
var f = a.substring( a.length-1 , a.length);//等价于

3):数字跟字符之间的转换:
数字转字符:
var number_to_string = number + “ ”; //方法1:添加一个空的字符串。
var number_to_string =String(number); //方法2:使用String()函数。
var number_to_string =number. toString(); //方法3:使用toString()函数。
注:toString()方法默认是以10进制转换。
如果要使用8进制转换可以 这么写: number. toString(8);

字符转数字:
var string_to_number = string – 0 ; //方法1: 字符串减去0。
var string_to_number = Number(string) ; //方法2:使用Number ()函数。
var string_to_number = parseInt(string) ; //方法3:使用parseInt ()函数。
方法1中不能 用string+0 ; 这样会导致字符串拼接,而不是类型转换。
方法2 中的Number函数转换,比较严格。
比如:
var a = "19cssrain86";
var b = Number(a);  //输出NaN.
如果我们使用方法3。
var c = parseInt(a); //输出 19
可以看出parseInt()会自动忽略非数字的部分。
parseInt()只取整数部分,忽略小数部分。
parseFloat()会把小数部分也取到。
和toString()一样,parseInt也有进制,默认是10进制。
如果想使用8进制,可以这么写: parseInt( “077” , 8 ); // 输出63 = 7 * 8 + 7
当字符以0开头的时候,我们必须把 第二个参数 指明,不然js可能会以8进制去转换。

4):布尔类型:
布尔在数字环境中:true  转换为  1  ,false  转换为  0  。
在字符环境中:true  转换为  “true”  ,false  转换为  “false”  。
布尔转换:
var x_to_Boolean = Boolean(x); //方法1:使用Boolean ()函数。
var x_to_Boolean = !x; //方法2:使用 感叹号。

5):函数的定义:
方法1:普通定义
function square(x){
      return x*x;
}
方法2:函数直接量定义
var square = function(x){  return x*x; }   //推荐使用
方法3:构造参数
var square = new Function(“x”,”return x*x;”);   //效率低

6):对象:
如果有一个名为 cssrain 的对象 , 他有一个高度height的属性。
那么我们可以这么引用:
cssrain.height;
还可以使用关联数组定义:cssrain[“height”];

创建对象:
方法1:
var point = new Object();
point.x = 3;
point.y = 5;
方法2:使用对象直接量
var point = {x:3 , y:5 }
当然json也可以咯。

对象在字符的环境下,会调用toString()方法。
数字环境下,会调用valueOf()方法。
布尔环境下,非空对象为true;

7):数组:
常规数组:以非负整数做为下标。image[0]
关联数组:以字符做为下标。如:image[“width”]
js不支持多维数组,但数组里面可以嵌套数组。

创建数组:
方法1:
var a = new Array();
a[0] = “1”;
a[1] = 2;
a[2] = { x:1, y:3};
方法2:
var  a  =  new Array(“1” , 2 , {x:1,y:3} );
注意下:如果只传了一个参数;比如var a = new Array(3);
那么它是表示:3个未定义元素 的 新数组。
方法3:使用数组直接量
var  a =[“1” ,  2 , {x:1 , y :3 }]; //注意外面的 括号  ,  不是花 括号。

8):null和undefined:
null表示无值;
undefined : 使用一个并未声明的变量,或者使用了已经声明的变量但未赋值或者使用了一个并不存在的属性。
undefined==null
如果要区分:
可以使用===  或者typeof运算符。

9 ,新手常遇到的疑惑:
var s =”you are right”;
var b = s.substring(s.lastIndexOf(“ ”)-1 , s.length);
疑惑:s是对象还是字符串,为什么字符串会有方法呢?
回答:s是字符串。之所以有方法 ,是因为 string类型 有一个相应的对象类(String)。
同样数字和布尔都有相应的Number , Boolean类。
Js会内部进行相应的包装对象。String对象就替换了原始的字符串。

总结:
简单了介绍了js中的一些概念(词法结构) 和 数据类型(部分)。

java 总结学习一

时间: 2024-10-09 08:38:27

java 总结学习一的相关文章

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm

Java并发学习之五——线程的睡眠和恢复

本文是学习网络上的文章时的总结,感谢大家无私的分享. 1.Thread类的sleep方法,可以使线程睡眠.此方法接收一个整数作为参数,表示线程暂停运行的毫秒数.在调用sleep方法后,当时间结束时,JVM会安排他们CPU时间,线程会继续按指令执行. 另一种可能是使用一个有TimeUnit列举元素的sleep方法,使用线程类的sleep方法让当前线程睡眠,但是它接收的参数单位后会转成毫秒的. 2.当你调用sleep()方法,Thread离开CPU并在一段时间内停止运行.在这段时间内,他是不消耗CP

Java EE学习--Quartz基本用法

新浪博客完全不适合写技术类文章.本来是想找一个技术性的博客发发自己最近学的东西,发现博客园起源于咱江苏,一个非常质朴的网站,行,咱要养成好习惯,以后没事多总结总结经验吧.很多时候都在网上搜索别人的总结,我自己也总结些东西,或许多多少少能帮得上别人. 首先提到的是Quartz,一个开源的定期执行计划任务的框架.其实我内心好奇这个框架很久了,像那些能定时修改数据库数据,定时分配任务的功能一直觉得很神奇.心动不如行动,今天我就小小的学习了一下用法,力求言简意赅,大家都懂的我就不说了. 第一步:下载Qu

java nio学习笔记(一)

位置保留,待用 java nio学习笔记(一),布布扣,bubuko.com

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

java排序学习笔记

前面写了js的排序实现,总得玩玩java的哈. 同样,冒泡.选择.快速(这三个之前实现过也写过文章).堆排序,然后做比较. 主要遇到的难点: - -||想轻松点写个封装计时的逻辑,不想每调用一个排序就要写一个计时代码.想想,还是javascript写起来方便: java的话,我想到的方法是写一个抽象类:抽象出排序方法,实现一个排序计时方法(该方法调用了抽象排序,但在先后排序时加入计时代码[感觉像是aop操作]): 接着所有排序类都继承这个抽象类,并实现排序方法,调用的时候直接调用继承的排序计时方

java密码学学习整理--对称加密(着重描述3des)

1.对称加密要点 对称加密算法的核心是加密和解密操作使用同一套密钥.加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要.因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题. 2.des(参考自:http://baike.baidu.com/view/878529.htm?from_id=210508&type=syn&fromtitle=DES&fr=aladdin) DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位(每组的

《深入Java虚拟机学习笔记》- 第4章 网络移动性

Java虚拟机学习笔记(四)网络移动性 <深入Java虚拟机学习笔记>- 第4章 网络移动性,布布扣,bubuko.com

《深入Java虚拟机学习笔记》- 第7章 类型的生命周期

一.类型生命周期的开始 如图所示 初始化时机 所有Java虚拟机实现必须在每个类或接口首次主动使用时初始化: 以下几种情形符合主动使用的要求: 当创建某个类的新实例时(或者通过在字节码中执行new指令,或者通过不明确的创建.反射.克隆和反序列化): 当调用某个类的静态方法时(即在字节码中执行invokestatic指令): 当使用某个类或接口的静态字段,或者对该字段赋值时(用final修饰的静态字段除外,它被初始化为一个编译时常量表达式): 当调用Java API中的某些反射方法: 当初始化某个