尚硅谷 第一课

</pre><h2><pre name="code" class="java">课前预习

1-1输出爱心

public class Text4{

 public static voidmain(String[]args){

  Stringss="";

  for(String s:args){

   ss+=""+s;

  }

  fun1(ss);

 }



 public static voidfun1(String ss){

  int x=ss.length()+14;

  for(intj=0;j<x;j++){

  if(j==2||j==x-2){

    System.out.print("*");

   }else

  System.out.print(" ");


  }

  System.out.println();

  for(int i=0 ;i<x;i++ ){

  if(i==1||i==(x-1)||i==4||i==(x-4)){

   System.out.print("*");

   }

   elseif(i>=(x-(ss.length()))/2&&i<ss.length()){

   System.out.print(ss);

   i+=ss.length()-1;


   }

   else{


   System.out.print(" ");

   }

  }

  System.out.println();

  if(x%2==1){

   for(int i=2;i<=x/2 ;i+=2 ){

    for(int j=1;j<x ;j++ ){

    if(j==i+1||j==(x-i)+1){

     System.out.print("*");

     }

     else

      System.out.print("");


   }System.out.println();

   }

   /*for(ints=0;s<x/2 ;s++ ){

   System.out.print("X");

  }System.out.print("*");

   */

  }else{

   for(int i=2;i<x/2 ;i+=2 ){

    for(int j=1;j<x ;j++ ){

    if(j==i+1||j==(x-i)+1){

      System.out.print("*");

     }else

     System.out.print(" ");

   }System.out.println();

   }

   for(ints=0;s<x/2 ;s++ ){

   System.out.print(" ");


  }System.out.print("*");

  }

 }

}




       md team3/n

       cd../n

       cd/退回到根目录

       cdAtguigu0722\Team1/n

创建文件

       echo>1.txt/n

       echoname:wangqi age:67>2.txt/n

删除文件

       del 1.txt/n

       del *.doc/n


删除文件夹

       rd Team2/n

start exit退出开启Dos界面

JVM: (java Visual Machine)
 

JDK

       JDK: javaDevelopment kit java开发工具 包含编译打包工具

       JAR: javaRuntim Environment

 

为什么要配置环境变量:

编译程序在Bin目录下才可以执行,为了在任何目录下执行程序才要配置环境变量

配置环境变量

path:windows系统执行命令时要搜寻的路径。

classpath:java 在编译和运行时要找的 class 所在的路径。
 

1.Bin目录前的路径用%动态获取%

       2.  java---------javac-----------à.class--------java---------à结果

              源文件  编译      字节码文件    


class code1{

       publicstatic void main(String []args){

              /*

                     多行注释

                     如下的程序的入口,其格式是这样的 public static voidmain(String []args)

              */

              //单行注释

              System.out.println("你好java");

       }

}

多行注释里面不能嵌套注释

 

例2

class DD{

       publicstatic void main(String []args){

              System.out.println();

       }

}

class java1{

}

class GG{

}

编译可以通过

不能执行

1.       当文件中有多个类,会生成多个.class类文件

2.       类的前边要有修饰符,但是只能有一个类可以声明为public【主方法所在的类,同时要求public类与文件名相同】


例子3



格式:/**

          * @author 指定java程序的作者

             *@version 指定源文件的版本

         *@param   方法的参数说明信息

          */

注释内容可以被JDK提供的工具javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

/*

@author wangqi

@version 1.7

这是我的第一个程序

*/


class java1{

       public static void main(String []args){

              System.out.println("hellojava");

       }

}


/**

@author wangqi

@version 1.7

*这是我的第一个程序

*/

 

老师的例子:

/**

@author shkstart

@version 1.0

这是我开始学习java的第一个程序!很开心!

*/

public classHelloJava{

       /**

       这是主方法,格式为:publicstatic void main(String[] args){}

       格式是固定的   

       */

       public static void main(String[] args){

              //这是输出语句

              System.out.println("HelloJava!");

             

       }

}

public class java1{//没有public系统编译会出错

       public static void main(String []args){

              System.out.println("hellojava");

       }

}


作业1-1

public classjava1{

       public static void main(String[]args){

        System.out.print("姓名:"+args[0]);

        System.out.println("性别:"+args[1]);

        System.out.println("籍贯:"+args[2]);

        System.out.println("住址:"+args[3]);

       } 

  }


                                          第二章类及变量 165845936

2.1  关键字

关键字的定义和特点

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)

特点:关键字中所有字母都为小写


  用于定义数据类型的关键字

 class     interface       enum   byte     short

int long     float       double   char

boolean       void       
用于定义数据类型值的关键字

true      false       null       

用于定义流程控制的关键字

if   else switch    case       default

while   do   for  break     continue

return                              

用于定义访问权限修饰符的关键字

Private       protected      public          

用于定义类,函数,变量修饰符的关键字

abstract       final       static      synchronized      

用于定义类与类之间关系的关键字

extends       implements                

用于定义建立实例及引用实例,判断实例的关键字

new     this super      instanceof    

用于异常处理的关键字

try catch      finally    throw     throws

用于包的关键字

package      import                 

其他修饰符关键字

native  strictfp   transient       volatile  assert    

保留字

Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标记符时要避免使用这些保留字 
byValue、cast、future、 generic、 inner、 operator、 outer、 rest、 var 、 goto 、const

2.3 标识符

标识符:

Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符

凡是自己可以起名字的地方都叫标识符。

定义合法标识符规则:

由26个英文字母大小写,0-9,_或 $ 组成 

数字不可以开头。

不可以使用关键字和保留字,但能包含关键字和保留字。

Java中严格区分大小写,长度无限制。

标识符不能包含空格。

注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。


2.4  Java中的名称命名规范

Java中的名称命名规范:

包名:多单词组成时所有字母都小写:xxxyyyzzz

类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ


2.5  变  量

变量的概念:

内存中的一个存储区域

该区域有自己的名称(变量名)和类型(数据类型)

Java中每个变量必须先声明,后使用

该区域的数据可以在同一类型范围内不断变化

使用变量注意:

变量的作用域:一对{ }之间有效     

初始化值

定义变量的格式:数据类型    变量名  =  初始化值

变量是通过使用变量名来访问这块区域的


public class Text5{

    public static void main(String[]args){

     //变量定义格式:数据类型 变量名 = 初始化值

     //变量必须先定义,后使用。

       int i1=10;

       double d1=12.3;

       char c='a';

       double d2=d1;

      

       int j1;//声明变量

       j1=12;//赋值

      

       System.out.println(d1);

       System.out.println(d2);

        System.out.println(j1);

       //变量超出作用范,不能识别。

    } 

    public void fun(){

       int k;

    }

  }


2变量的分类

变量的分类-按数据类型

对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

补充:变量的分类-按声明的位置的不同


3整数类型

整数类型:byte、short、int、long

Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
 

java的整型常量默认为int 型,声明long型常量须后加‘l’或‘L’
 


class TestVar1 {

    public static void main(String ars[]){//参数

       //变量定义的格式:数据类型 变量名 = 初始化值

       //变量必须先赋值,后使用

       int ii1 = 10;

       double dd1 = 12.3;

       char c = 'a';

       double dd2 = dd1;

      

       int j1;//声明

       j1 = 12;//赋值

      

       System.out.println(dd1);

       System.out.println(dd2);

       System.out.println(j1);//12

       //变量k 超出其作用范围,不能识别。

       //System.out.println(k);

 

       //整型:byte(8bit) short(16bit) int(32bit)long(64bit)


       byte b1 = 12;

       //byte b2 = 128;

       short s1 = 128;

       int i1 = 125;

       long l1 = 145431523l;//定义一个long型的变量

 

       //浮点型:float(32bit)  double(64bit)

       double d1 = 12.3;

       d1 = 32.1;

       float f1 = 12.3F;//定义一个float型的变量

    }

    public void run(){

       int k = 10;

    }

}


问题:

王琪 15:59:28

 class Text5 {

   public static void main (String [] args) {

   byte a,b,c;

   a=(byte)1;

   b=(byte)2;

   c=a+b;//出错??

    a+=2;

    }

 }

宋红康老师 16:00:28

 对,因为相加完是int类型的

宋红康老师 16:00:40

 不能赋给byte型的c

 

浮点类型:float、double

 

与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
 

Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
 

浮点型常量有两种表示形式:
 

十进制数形式:如:5.12       512.0f        .512  (必须有小数点)
 

科学计数法形式:如:5.12e2      512E2     100E-2


4 char

char 型数据用来表示通常意义上“字符”(2字节)

字符型常量的三种表现形式:

字符常量是用单引号(‘ ’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a';   char c2 = '中'; char c3 =  '9';

 Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:charc3 = ‘\n’;  // '\n'表示换行符

直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a 表示 \n。

char类型是可以进行运算的。因为它都对应有Unicode码。


      //字符型:char (16bit)

      char c1='a';

      char c2='9';

      char c3='中';

      char c4='\n';

char c4='\u1234';

      System.out.println(" "+c1+" "+c4+c2+" "+c3);

a ?

9 中

ASCII 码

在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有 0 和 1 两种状态,因此 8 个二进制位就可以组合出 256 种状态,这被称为一个字节(byte)。一个字节一共可以用来表示 256 种不同的状态,每一个状态对应一个符号,就是 256 个符号,从 0000000 到 11111111。

ASCII码:上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。

缺点:

不能表示所有字符。

相同的编码表示的字符不一样:比如,130在法语编码中代表了é,在希伯来语编码中却代表了字母Gimel (ג)

.Unicode 编码

乱码:世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。

Unicode:一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,使用 Unicode 没有乱码的问题。

Unicode 的缺点:Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储:无法区别 Unicode 和 ASCII:计算机无法区分三个字节表示一个符号还是分别表示三个符号

UTF-8

UTF-8 是在互联网上使用最广的一种Unicode 的实现方式。

UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则:

对于单字节的UTF-8编码,该字节的最高位为0,其余7位用来对字符进行编码(等同于ASCII码)。

对于多字节的UTF-8编码,如果编码包含 n 个字节,那么第一个字节的前 n 位为1,第一个字节的第 n+1 位为0,该字节的剩余各位用来对字符进行编码。在第一个字节之后的所有的字节,都是最高两位为"10",其余6位用来对字符进行编码。     

Boolean

boolean 类型适于逻辑运算,一般用于程序流程控制:

if条件控制语句;                 

while循环控制语句;

do-while循环控制语句;     

for循环控制语句;

boolean类型数据只允许取值true和false,无null。

不可以0或非 0 的整数替代false和true,这点和C语言不同。

 

Boolean 只能有两个值 true false 不能取值为null

通常使用在条件判断或循环结构

Boolean bo1=true;

If(bo1){

    System.out.println(“老师好”);

}

Else{

    System.out.println(“李老师辛苦了”);

}

基本数据类型转换

自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为: 

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。     

byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。

//变量之间的运算

public class Text6 {

    public static void main(String [] args){

       /*1.基本数据类型变量间的运算(除了boolean之外)

         1.1自动类型转换:容量小的变量与容量大的做运算,自动转换为

         容量大的

       */

       byte b1=12;

       int i1=10;

       int i2=b1+i1;

       float f1=12.3F;

       short s1=10;

       float f2=f1+s1;

      

       //默认整形常量为int型

       int s2=s1+10;

       //规定:默认的浮点型常量为浮点型

       double d1=s1+12.3;

      

       long l1=123;//自动类型转换

       long l2=123L;

      

       //float f2=12.33;出错

      

       //难点:当byte short char 之间做运算时,运算结果为int

       byte b2=12;

       short ss2=10;//2bit

       //short a=ss2+10;

       char c33='A';

       int ssq=c33+ss2;

       //char类型也是可以根据整型做运算的

       char c1='A';//65

       int ii2=c1+1;

      

       short q1=33;

       short q2=9;

       //short q3=q1+q2;

       int q3=q1+q2;

       char cc2='a';//97  2bit

       int ii3=cc2;

       System.out.println("i2:"+i2);

      

       //1.2强制类型转换:容量大的转换为容量小的类型

       double dd1=12.3;

       float ff1=(float)dd1;

       System.out.println("ff1"+ff1);

      

       int ii10=128;

       byte bb10=(byte)ii10;

       System.out.println(bb10);//-128强转有风险会损失精度

    }

}


课后复习


认识类

 Java程序是由类class所组成

程序定义了的public的类Text 这个城许的原始文件名为Text.java

类Text的范围在一对大括号之间,public是java的关键字,对垒的访问为共有

在完整的java程序里至少有一个class,一个原始独立的程序里只能有一个publi类与文件名相同,一个公共类都没有的,文件名随便

 

注释:单行注释,多行注释,文档注释

 

Dos命令:

D:

 dir

 md Atguigu0722

 cd Atguigu0722

 md Tam1

 md Team2

 cd ..

 cd/

 cdAtguigu072\Team1

 创建文件

 echo>Text1.java

 echo name:wangqiage 12>Text2.java

 删除文件

 rd Team2

 del *.doc

 del Text2.java

 start exit

JVM JRE JDK 的关系



配置环境变量

path:windows系统执行命令时要搜寻的路径。

classpath:java在编译和运行时要找的 class 所在的路径


 
 



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值