精华内容
下载资源
问答
  • Java常量

    2019-12-05 20:53:03
     4.Java中的常量:在程序中固定不变的值,是不能改变的数据。 整型类型的数据:二进制,十进制,十进制,十六进制。 常量分为整型常量,浮点数常量,字符常量,字符串常量,布尔常量,null2.使用unicode字符集:...

    1.       表示形式只有两种:十进制,科学技术法
    2.       转义字符:/n  回车的意思
    3.       在CHAR类型的变量赋值时,用一对英文单引号引起来。例:char c=’a’;
    4.       布尔类型变量用来存储布尔值,该变量只有两个值:true和false数据类型转换分为两种:自动类型转换和强制类型转换
    5.       引用类型:该变量表示数据的地址
    6.       Char类型和short类型不可以转换7.数据类型                                字符型(char)
     
                                           布尔型(boolean)
                                                                                    类(class)
                         接口(interface) 引用数据类型    数枚举(enum)
      注解(annotation)
    8.bit计算机中最小存储单位,tyle计算机中最基本的存储单位。
    5.Java中的变量:
    作用域:局部变量   全局变量=成员变量
    6.变量一定由初始值,可以同时产生多个变量,用逗号隔开。
    语法:数据类型  变量名=初始值                        整型(byte,int,long)                
                                              数值型      
                             基础数据类型                浮点(float,double)
     4.Java中的常量:在程序中固定不变的值,是不能改变的数据。
    整型类型的数据:二进制,十进制,十进制,十六进制。
    常量分为整型常量,浮点数常量,字符常量,字符串常量,布尔常量,null2.使用unicode字符集:
    优点:世界上所有符号纳入其中,每一个符号都给予一个独一无二的编码,不会出现乱码问题。
    缺点:只规定了符号的代码,却没有规定这个二进制代码应该如何存储,
    英文用一个字符表示,中文用两个。
    广泛使用UTF-8(长度是可变的)
    2个字节=16位
    3.Java中的关键字:
    关键字中所有字母都小写,
    关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字
    4.Java中的常量:在程序中固定不变的值,是不能改变的数据。
    整型类型的数据:二进制,十进制,十进制,十六进制。
    常量分为整型常量,浮点数常量,字符常量,字符串常量,布尔常量,nullc常量。

    2.使用unicode字符集:
    优点:世界上所有符号纳入其中,每一个符号都给予一个独一无二的编码,不会出现乱码问题。
    缺点:只规定了符号的代码,却没有规定这个二进制代码应该如何存储,
    英文用一个字符表示,中文用两个。
    广泛使用UTF-8(长度是可变的)
    2个字节=16位
    3.Java中的关键字:
    关键字中所有字母都小写,
    关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字
    4.Java中的常量:在程序中固定不变的值,是不能改变的数据。
    整型类型的数据:二进制,十进制,十进制,十六进制。
    常量分为整型常量,浮点数常量,字符常量,字符串常量,布尔常量,nullc常量。

    1.1包名:所有字母小写xxxyyy
    2类名,接口名:首字母大写,XxxYyy
    3变量名,方法名:第一个单词首字母小写,第二个单词开始,每个单词首字母大写,xxxYyy
    4常量名:都大写,多单词时用下划线链接,XXX_YYY
    2.使用unicode字符集:
    优点:世界上所有符号纳入其中,每一个符号都给予一个独一无二的编码,不会出现乱码问题。
    缺点:只规定了符号的代码,却没有规定这个二进制代码应该如何存储,
    英文用一个字符表示,中文用两个。
    广泛使用UTF-8(长度是可变的)
    2个字节=16位

    展开全文
  • java乱码处理

    2017-08-02 19:03:24
    为什么说乱码是程序员无法避免的话题呢?...对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是 String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”); 1、utf8解决

    为什么说乱码是程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!工作遇到各种各样的乱码的解决方法总结一下。

    对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是
    String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);


    1、utf8解决JSP中文乱码问题 
    一般说来在每个页面的开始处,加入:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>

    <%
     request.setCharacterEncoding("UTF-8");
    %>

    charset=UTF-8  的作用是指定JSP向客户端输出的编码方式为“UTF-8”

    pageEncoding="UTF-8"  为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效

     request.setCharacterEncoding("UTF-8"); 是对请求进行了中文编码

    有时,这样仍不能解决问题,还需要这样处理一下:

    String msg = request.getParameter("message");
     String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
     out.println(st);

    2、Tomcat 5.5 中文乱码

    )只要把%TOMCAT安装目录%/   webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。   
      2)在你的web.xml里加入如下几行:   <filter>   
      <filter-name>Set   Character   Encoding</filter-name>   
      <filter-class>filters.SetCharacterEncodingFilter</filter-class>   
      <init-param>   
      <param-name>encoding</param-name>   
      <param-value>GBK</param-value>   
      </init-param>   
      </filter>   
          <filter-mapping>   
      <filter-name>Set   Character   Encoding</filter-name>   
      <url-pattern>/*</url-pattern>   
      </filter-mapping>   
        
        
        
      3)完成.   
      2   get方式的解决办法   
      1)   打开tomcat的server.xml文件,找到区块,加入如下一行:   
      URIEncoding=”GBK”   
      完整的应如下:   
      <Connector     
      port="80"   maxThreads="150"   minSpareThreads="25"   maxSpareThreads="75"   
      enableLookups="false"   redirectPort="8443"   acceptCount="100"   
      debug="0"   connectionTimeout="20000"     
      disableUploadTimeout="true"     
      URIEncoding="GBK"   
      />      
        
      2)重启tomcat,一切OK。

    3、xmlHttpRequest中文问题

    页面jsp用的GBK编码


    代码
    <%@ page contentType="text/html; charset=GBK"%> 


    javascript部分

    代码
    function addFracasReport() {   
        var url="controler?actionId=0_06_03_01&actionFlag=0010";   
        var urlmsg="&reportId="+fracasReport1.textReportId.value;  //故障报告表编号   
               
        var xmlHttp=Common.createXMLHttpRequest();   
        xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval("turnAnalyPage"));   
        xmlHttp.open("POST",url,true);   
        xmlHttp.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded);   
        xmlHttp.send(urlmsg);   
           


    后台java中获得的reportId是乱码,不知道该怎么转,主要是不知道xmlHttp.send(urlmsg);以后是什么编码?在后面用java来转,试了几种,都没有成功,其中有:


    代码
    public static String UTF_8ToGBK(String str) {   
            try {   
                return new String(str.getBytes("UTF-8"), "GBK");   
            } catch (Exception ex) {   
                return null;   
            }   
        }   
           
        public static String UTF8ToGBK(String str) {   
            try {   
                return new String(str.getBytes("UTF-16BE"), "GBK");   
            } catch (Exception ex) {   
                return null;   
            }   
        }   
           
        public static String GBK(String str) {   
            try {   
                return new String(str.getBytes("GBK"),"GBK");   
            } catch (Exception ex) {   
                return null;   
            }   
        }   
             public static String getStr(String str) {   
            try {   
                String temp_p = str;   
                String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK");   
                temp = sqlStrchop(temp);   
                return temp;   
            } catch (Exception e) {   
                return null;   
            }   
        } 

    4、JDBC ODBC Bridge的Bug及其解决方法

    在编写一数据库管理程序时,发现JDBC-ODBC Bridge存在不易发现的Bug。在向数据表插入数据时,如果为英文字符,存储内容完全正确,如果存入中文字符,部分数据库只能存储前七八个中文字符,其他内容被截去,导致存储内容的不完整(有些数据库不存在这个问题,如Sybase SQL Anywhere 5.0。JDBC-ODBC Bridge还存在无法建表的Bug)。

      对于广大需要存储中文信息的Java程序员来说,这可是一个不好的消息。要么改用其他语言编程,要么选择其他价格昂贵的数据库产品。“一次编写,到处运行”的目标,也大打折扣。能不能采用变通的方法,将中文信息进行处理后再存储来解决这个问题呢?答案是肯定的。

      解决问题的具体思路、方法 
      Java采用Unicode码编码方式,中英文字符均采用16bit存储。既然存储英文信息是正确的,根据一定规则,将中文信息转换成英文信息后存储,自然不会出现截尾现象。读取信息时再进行逆向操作,将英文信息还原成中文信息即可。由GB2312编码规则可知,汉字一般为二个高位为1的ASCII码,在转换时将一个汉字的二个高位1去掉,还原时再将二个高位1加上。为了处理含有英文字符的中文字串,对英文字符则需要加上一个Byte 0标记。以下提供的两个公用静态方法,可加入任何一个类中使用。

      将中英文字串转换成纯英文字串 
      public static String toTureAsciiStr(String str){

      StringBuffer sb = new StringBuffer();

      byte[] bt = str.getBytes();

      for(int i =0 ;i〈bt.length;i++){

      if(bt[i]〈0){

      //是汉字去高位1

      sb.append((char)(bt[i]&&0x7f));

       }else{//是英文字符 补0作记录

      sb.append((char)0);

      sb.append((char)bt[i]);

       }

       }

      return sb.toString();

      }

      将经转换的字串还原 
      public static String unToTrueAsciiStr(String str){

       byte[] bt = str.getBytes();

       int i,l=0,length = bt.length,j=0;

       for(i = 0;i〈length;i++){

       if(bt[i] == 0){

       l++;

       }

       }

       byte []bt2 = new byte[length-l];

       for(i =0 ;i〈length;i++){

       if(bt[i] == 0){

       i++;

       bt2[j] = bt[i];

       }else{

       bt2[j] = (byte)(bt[i]|0x80);

       }

       j++;

       }

      String tt = new String(bt2);

      return tt;

      }

      上例在实际编程中效果很好,只是存储的中文信息需要经过同样处理,才能被其他系统使用。而且如果中文字串出现英文字符,实际上增加了额外的存储空间。

    5、Solaris下Servlet编程的中文问题及解决办法 
    在使用Java开发Internet上的一个应用系统时,发现在Windows下调试完全正常的Servlet,上传到Solaris 服务器上,运行却出现故障——返回的网页不能显示中文,应为中文的信息全为乱码;用中文信息做关键字,不能正确检索数据库。后来采用加入检查代码等方法探知故障原因如下:

      显示乱码主要是因为通过类 HttpServletResponse提供的方法setContentType 无法改变返回给客户的数据的编码方式,正确的编码方式应为GB2312或者GBK,而事实上为缺省的ISO8859-1。无法检索中文信息则是因为,客户提交的中文信息经浏览器编码到达服务器后,Servlet无法将其正确解码。

      举例说明显示乱码解决方法 
      Servlet 一般通常做法如下:

      public class ZldTestServlet extends HttpServlet {

      public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{

      //在使用 Writer向浏览器返回数据前,设置 content-type header ,在这里设置相应的字符集gb2312

      response.setContentType("text/html;charset=gb2312");

      PrintWriter out = response.getWriter(); //*

      // 正式返回数据

      out.println("〈html〉〈head〉〈title〉Servlet test〈/title〉〈/head〉" );

      out.println("这是一个测试页!");

      out.println("〈/body〉〈/html〉");

      out.close();

      }

       ...

      }

      解决页面显示乱码问题,需将*处代码换成如下内容:

      PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),"gb2312"));

      Solaris中文信息检索问题的解决 
      浏览器利用表单向服务器提交信息时,一般采用x-www-form-urlencoded 的MIME格式对数据进行编码。如果使用get方法,参数名称和参数值经编码后附加在URL后,在Java中称作查询串(query string)。

      在Servlet程序中,如果采用ServletRequest的方法getParameter取得参数值,在Solaris环境下,对汉字却不能正确解码。因而无法正确检索数据库。

      在Java 1.2的包——java.net中提供了URLEncode和URLDecode类。类URLEncode提供了按x-www-form-urlencoded格式对给定串进行转换的方法。类URLEncode则提供了逆方法。

    6、Common Mail乱码问题
    common mail是一个小而方便的mail包,他实现了对Java Mail的封装,使用起来十分的方便,但是我在使用他的时候发现,使用纯文本的内容发送,结果是乱码,代码如下:
    public class TestCommonMail {
    public static void main(String[] args) throws EmailException, MessagingException {
    SimpleEmail email = new SimpleEmail();
    email.setCharset("GB2312");
    email.setHostName("smtp.163.com");
    email.setSubject("test");
    email.addTo("test@163.com");
    email.setFrom("test@163.com");
    email.setMsg("我的测试");
    email.setAuthentication("test", "test");
    email.send();
    }
    }

    分析了一下commons mail的源码找到了原因。源码如下:
    public class SimpleEmail extends Email
    {
    public Email setMsg(String msg) throws EmailException, MessagingException
    {
    if (EmailUtils.isEmpty(msg))
    {
    throw new EmailException("Invalid message supplied");
    }

    setContent(msg, TEXT_PLAIN);
    return this;
    }
    }

    Email代码片段
    public void setContent(Object aObject, String aContentType)
    {
    this.content = aObject;
    if (EmailUtils.isEmpty(aContentType))
    {
    this.contentType = null;
    }
    else
    {
    // set the content type
    this.contentType = aContentType;

    // set the charset if the input was properly formed
    String strMarker = "; charset=";
    int charsetPos = aContentType.toLowerCase().indexOf(strMarker);
    if (charsetPos != -1)
    {
    // find the next space (after the marker)
    charsetPos += strMarker.length();
    int intCharsetEnd =
    aContentType.toLowerCase().indexOf(" ", charsetPos);

    if (intCharsetEnd != -1)
    {
    this.charset =
    aContentType.substring(charsetPos, intCharsetEnd);
    }
    else
    {
    this.charset = aContentType.substring(charsetPos);
    }
    }
    }
    }

    email.send();的send方法将调用
    public void buildMimeMessage() throws EmailException
    {
    try
    {
    this.getMailSession();
    this.message = new MimeMessage(this.session);

    if (EmailUtils.isNotEmpty(this.subject))
    {
    if (EmailUtils.isNotEmpty(this.charset))
    {
    this.message.setSubject(this.subject, this.charset);
    }
    else
    {
    this.message.setSubject(this.subject);
    }
    }

    // ========================================================
    // Start of replacement code
    if (this.content != null)
    {
    this.message.setContent(this.content, this.contentType);
    }
    // end of replacement code
    // ========================================================
    else if (this.emailBody != null)
    {
    this.message.setContent(this.emailBody);
    }
    else
    {
    this.message.setContent("", Email.TEXT_PLAIN);
    }

    if (this.fromAddress != null)
    {
    this.message.setFrom(this.fromAddress);
    }
    else
    {
    throw new EmailException("Sender address required");
    }

    if (this.toList.size() + this.ccList.size() + this.bccList.size() == 0)
    {
    throw new EmailException(
    "At least one receiver address required");
    }

    if (this.toList.size() > 0)
    {
    this.message.setRecipients(
    Message.RecipientType.TO,
    this.toInternetAddressArray(this.toList));
    }

    if (this.ccList.size() > 0)
    {
    this.message.setRecipients(
    Message.RecipientType.CC,
    this.toInternetAddressArray(this.ccList));
    }

    if (this.bccList.size() > 0)
    {
    this.message.setRecipients(
    Message.RecipientType.BCC,
    this.toInternetAddressArray(this.bccList));
    }

    if (this.replyList.size() > 0)
    {
    this.message.setReplyTo(
    this.toInternetAddressArray(this.replyList));
    }

    if (this.headers.size() > 0)
    {
    Iterator iterHeaderKeys = this.headers.keySet().iterator();
    while (iterHeaderKeys.hasNext())
    {
    String name = (String) iterHeaderKeys.next();
    String value = (String) headers.get(name);
    this.message.addHeader(name, value);
    }
    }

    if (this.message.getSentDate() == null)
    {
    this.message.setSentDate(getSentDate());
    }

    if (this.popBeforeSmtp)
    {
    Store store = session.getStore("pop3");
    store.connect(this.popHost, this.popUsername, this.popPassword);
    }
    }
    catch (MessagingException me)
    {
    throw new EmailException(me);
    }
    }
    由代码可以知道纯文本方式最终调用了Java Mail的
    message.setContent(this.content, this.contentType);
    content是内容
    contentType是类型,如text/plain,
    (我们可以试试直接用Java mail发邮件,设置文本内容不使用setText方法,也使用setContent("测试", "text/plain")方式,你可以看到内容也是乱码)
    关键就在于text/plain,我们改成text/plain;charset=gb2312,ok乱码解决了。在commons mail我们看SimpleEmail 类中setMsg方法调用的就是 setContent(msg, TEXT_PLAIN);我们只需要将Email类中的常量TEXT_PLAIN修改一下加入 charset=你的字符集 ,重新打包jar,这样就可以了

    7、toad的字符集的设置与oracle的安装
    oracle数据库服务器的安装一般是中文字符集,有时安装在不同的平台下,设置为ISO编码,toad是oracle开发的最好工具,不是我说的,可是中文环境下安装的toad,打开英文字符的oracle时,中文全是乱码。必须进行设置

    环境变量---〉系统变量

      NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
      或
      NLS_lANG=AMERICAN_AMERICA.WE8ISO8859P1

    AMERICAN_AMERICA.WE8MSWIN1252
     
     或者

     打开注册表,点击HKEY_LOCAL_MATHINE
    再点击Software,再点击ORACLE
    在点击HOME(ORACLE所在目录)
    在注册表的右半面有NLS_LANG,
    双击它,将你想要的覆盖掉原来的就可以了
    最好记下旧的,以便可以改回来。


    connect sys/chang_on_install
    update props$
    set value$='ZHS16CGB231280'
    where name='NLS_CHARACTERSET';
    commit;
     这样就OK了

     
    8、如何解決GWT(google web toolkit)中文的問題
    GWT 中文乱码解决方法

    1.把你要显示的中文“测试字符串”输入到一个文件,如:1.txt 
    2.进入命令行,进入1.txt所在的目录,敲入以下命令:native2ascii.exe 1.txt 2.txt 回车。这样就生成了另外一个文件2.txt。 
    3.2.txt的内容如下:\u6d4b\u8bd5\u5b57\u7b26\u4e32 
    4.然后用上面的编码,在gwt中使用,就可以了.

    9、xmlHttp得到的网页怎么是乱码? 
    (1)在服务器端使用WebRequest而不是xmlHttp
    (2) 将

    StreamReader sr = new StreamReader(stream);


    对于简体中文改成:

    StreamReader sr = new StreamReader(stream , Encoding.Default );
    对于utf-8改成:


    StreamReader sr = new StreamReader(stream , Encoding.UTF8 );
    当然,Encoding枚举还有很多其他的成员,对于不同的编码content-type可以有选择的应用

    (3)后来我发现无论是content-type是gb2312还是utf-8,用


    StreamReader sr = new StreamReader(stream , Encoding.Default );

    都可以返回正常的汉字,所以统一的改成Encoding.Default

     


    --------------------------------------------------------------------------------

    最后,在服务器端从一个url获得网页的源代码的代码如下:

     

    /// <summary>
    /// post一个指定的url,获得网页的源代码(用WebRequest实现)
    /// </summary>
    /// <param name="url"></param>
    /// <returns>
    /// 如果请求失败,返回null
    /// 如果请求成功,返回网页的源代码
    /// </returns>
    public static string GetContentFromUrl2( string url )
    {
        //变量定义
        string respstr;

        WebRequest myWebRequest=WebRequest.Create(url);
        //            myWebRequest.PreAuthenticate=true;
        //            NetworkCredential networkCredential=new NetworkCredential( username , password , domain );
        //            myWebRequest.Credentials=networkCredential;

        // Assign the response object of 'WebRequest' to a 'WebResponse' variable.
        WebResponse myWebResponse=myWebRequest.GetResponse();
        System.IO.Stream stream = myWebResponse.GetResponseStream();
        StreamReader sr = new StreamReader(stream , Encoding.Default );
        //以字符串形式读取数据流
        respstr = sr.ReadToEnd();
        sr.Close(); 
        
        return respstr;
            
    }

    10、解决weblogic/webshpere中文问题: 
    在web.xml文件中需要配置中文环境。r如下: 
    <context-param> 
      <param-name>weblogic.httpd.inputCharset./*</param-name> 
      <param-value>GB2312</param-value> 
    </context-param>


    转自:http://www.cnblogs.com/1175429393wljblog/p/5603300.html

    展开全文
  • 问题是:有两个JAVA文件,第一个里面放的是常量,第二个里面调用了常量   有一天,突然数据库出现乱码,其中一个文件中写的常量是中文,所以……   我就将常量乱码改了回去。然后上传,但是结果乱码仍然存在...

     

    问题是:有两个JAVA文件,第一个里面放的是常量,第二个里面调用了常量

     

    有一天,突然数据库出现乱码,其中一个文件中写的常量是中文,所以……

     

    我就将常量的乱码改了回去。然后上传,但是结果乱码仍然存在?

     

    左思右想——和以前一次遇到的情况相同。

     

    第二个文件中调用的常量的地方——仍然是原来的那个常量值。

     

    要将引用到的地方,都要重新编译一次。

     

     

     

    展开全文
  • 1.java 编程基础 1.1.程序注释 注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注 释,是十分必须要的,它不影响程序的编译和运行。 注释的分类: 单行注释:// 多行注释:/* */ ...

    1.java 编程基础
    1.1.程序注释

    注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注 释,是十分必须要的,它不影响程序的编译和运行。 注释的分类: 单行注释:// 多行注释:/* */
    1.2.Java 中的关键字
    关键字:是指在程序中,Java 已经定义好的单词,具有特殊含义。 HelloWorld 案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经 被 Java 定义好,全部都是小写字母,notepad++中颜色特殊。 关键字比较多,不能死记硬背,学到哪里记到哪里即可。
    在这里插入图片描述
    在这里插入图片描述
    1.3.Java 标识符
    1.3.1. 标识符

    标识符:是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等, 都是标识符 定义合法标识符规则:
    A) 由 26 个英文字母大小写,0-9 ,_或$ 组成
    B) 数字不可以开头。
    C) 不可以使用关键字和保留字,但能包含关键字和保留字。
    D)Java 中严格区分大小写,长度无限制。
    E) 标识符不能包含空格。
    1.3.2. 命名规范
    包名:多单词组成时所有字母都小写:xxxyyyzzz 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字 母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ 注意 1:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。 注意 2:java 采用 unicode 字符集,因此标识符也可以使用汉字声明,但是不建议使用。

    1.4.java 中的常量
    1.4.1. 常量概念

    常量:是指在 Java 程序中固定不变的数据。
    1.4.2. 常量的类型
    在这里插入图片描述
    1.5.常量案例代码

    public class ConstantDemo {
       public static void main(String[] args){ 
       //输出整数常量 
       System.out.println(123); 
       //输出小数常量
       System.out.println(0.125); 
       //输出字符常量 
       System.out.println('A'); 
       //输出布尔常量 
       System.out.println(true);
        //输出字符串常量 
        System.out.println("你好Java");
         }
    }
    

    1.6.变量
    1.6.1. 变量的概念:
    内存中的一个存储区域 该区域的数据可以在同一类型范围内不断变化 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值
    1.6.2. 变量的作用:
    用于在内存中保存数据
    1.6.3. 使用变量注意:
    A)Java 中每个变量必须先声明,后使用 B) 使用变量名来访问这块区域的数据 C) 变量的作用域:其定义所在的一对{}内 D) 变量只有在其作用域内才有效 E) 同一个作用域内,不能定义重名的变量值
    1.6.4. 声明变量
    语法:<数据类型><变量名称> 例如:intvar;
    1.6.5. 变量的赋值
    语法:<变量名称>= <值> 例如:var=10; 声明和赋值变量 语法:<数据类型><变量名>= <初始化值> 例如:intvar=10;
    1.6.6. 变量的分类-基本数据类型

    对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的 内存空间在这里插入图片描述
    1.6.7. 变量的分类-按声明的位置的不同
    在方法体外,类体内声明的变量称为成员变量。 在方法体内部声明的变量称为局部变量在这里插入图片描述
    注意:二者在初始化值方面的异同: 同:都有生命周期异:局部变量除形参外,需显式初始化。
    1.7.计算机的存储单元
    1.7.1. 存储单元
    存储单元是一种计量单位。指在某一领域以一个特定量,或标准做为一个记录(计数)点。 再以此点的某个倍数再去定义另一个点,而这个点的代名词就是计数单位或存储单位。如卡 车的载重量是吨,也就是这辆卡车能存储货物的数量,吨就是它的单位量词。
    1.7.2. 计算机的存储单位
    在计算机中最小的信息单位是 bit,也就是一个二进制位,8 个 bit 组成一个 Byte,也就是 字节。一个存储单元可以存储一个字节,也就是 8 个二进制位。计算机的存储器容量是以字 节为最小单位来计算的,对于一个有 128 个存储单元的存储器,可以说它的容量为 128 字节。 二进制序列用以表示计算机、电子信息数据容量的量纲,基本单位为字节 B,字节向上分别 为 KB、MB、GB、TB,每级为前一级的 1024 倍,比如 1KB=1024B,1M=1024KB。
    位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。[英 文缩写:b(固定小写)]
    字节 byte:8 个二进制位为一个字节(B),最常用的单位。
    1 Byte(B) = 8 bit
    1 Kilo Byte(KB) = 1024B
    1 Mega Byte(MB) = 1024 KB
    1 Giga Byte (GB)= 1024 MB
    1 Tera Byte(TB)= 1024 GB
    1 Peta Byte(PB) = 1024 TB
    1 Exa Byte(EB) = 1024 PB
    1 Zetta Byte(ZB) = 1024 EB
    1Yotta Byte(YB)= 1024 ZB
    1 Bronto Byte(BB) = 1024 YB
    1Nona Byte(NB)=1024 BB
    1 Dogga Byte(DB)=1024 NB
    1 Corydon Byte(CB)=1024DB
    1 Xero Byte (XB)=1024CB
    上面的换算相信大家已看过了,可说起存储容量单位,大家很自然的会想起自己的硬盘 有多少 GB、内存有多少 MB,我们知道了字节(B)是电脑中表示信息含义的最小单位,通常情 况下一个 ACSII 码就是一个字节的空间来存放。而事实上电脑中还有比字节更小的单位,因 为一个字节是由八个二进制位组成的,换一句话说,每个二进制位所占的空间才是电脑中最 小的单位,我们把它称为位,也称比特(bit)。由此可见,一个字节等于八位。人们之所 以把字节称为电脑中表示信息含义的最小单位,是因为一位并不能表示我们现实生活中的一 个相对完整的信息。 有的时候,为了简写,我们会把位的单位缩写成 b,这个时候大家一定会有疑问了,因 为字节的单位我们用 B 表示,两者不就是一样了吗?其实,字节的表示单位 B 是 Byte 的缩写, 位的表示单位 b 是 bit 的缩写,1b 与 1B 之间只要大小写不同,那么表示的含义也不同,因 为 8b 才等于 1B。
    1.7.3. 进制
    进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比 如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的 tally mark 计数)。 对 于任何一种进制—X 进制,就表示每一位置上的数运算时都是逢 X 进一位。 十进制是逢十 进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x 进制就是逢 x 进位。 对于任何一个数,我们可以用不同的进位制来表示。比如:十进数 57(10),可以用二 进制表示为 111001(2),也可以用五进制表示为 212(5),也可以用八进制表示为 71(8)、用 十六进制表示为 39(16),它们所代表的数值都是一样的。
    1.7.4. 二进制
    二进制有两个特点:它由两个数码 0,1 组成,二进制数运算规律是逢二进一。
    为区别于其它进制,二进制数的书写通常在数的右下方注上基数 2,或加后面加 B 表示, 其中 B 是英文二进制 Binary 的首字母。
    1.8.Java 语言中的基本数据类型
    1.8.1. 数据类型
    数据类型:一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称。
    变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代 表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具 有数据类型,以决定能够存储哪种数据。
    在这里插入图片描述
    1.8.2. 整数类型:byte、short、int、long
    A) Java 各整数类型有固定的表数范围和字段长度,不受具体 OS 的影响, 以保证 java 程序的可移植性。
    B) java 的整型常量默认为 int 型,声明 long 型常量须后加‘l’或‘L’
    C) java 程序中变量通常声明为 int 型,除非不足以表示较大的数,才使用 long
    在这里插入图片描述

    public class VariableTest {
    public static void main(String[] args) {
    Int number1;
    number1 = 10;
    Int number2;
    number2 = 20;
    intnumber3;
    number3 = number1 + number2;
    System.out.println("Number3 = " + number3);
    intnumber4 = 50;
    intnumber5 = number4 -number3;
    System.out.println("Number5 = " + number5);
       }
    }
    1.8.3. 浮点类型:floatdouble
    与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体操作系 统的影响浮点型常量有两种表示形式:
    十进制数形式:如:5.12 512.0f .512 (必须有小数点)
    科学计数法形式:如:5.12e2 512E2 100E-2
    float:单精度,尾数可以精确到 7 位有效数字。很多情况下,精度很难满足需求。
    double:双精度,精度是 float 的两倍。通常采用此类型。
    Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’或‘F’。
    
    

    在这里插入图片描述
    1.8.4. 字符类型: char
    char 型数据用来表示通常意义上 “字符 ”(2 字节 )
    Java 中的所有字符都 使用 Unicode Unicode Unicode 编码,故一个字 符可以存储一 个字母,一个汉字
    字符型变量的表现形式:
    A) 字符串常量使用单引号 ’’ 引起来的单个字符,例如:char c1=’a’, char c2=’ 河南’,char c3=’9’
    char 类型是可以进行运算 char 类型是可以进行运算的。因为它都对应有 Unicode Unicode Unicode
    1.8.5. ASCIIASCII 码
    在计算机内部 ,所有数据都使用 二进制 表示 。每一个二进制位 (bitbit )有 0 和 1 两种状态 , 因此 8 个二进制位就可以组合出 256 种状态 ,这被称为一个字节 (byte )。 一 个字节共可以用来表示 256 种不同的状态 ,每一个状态对应符号 ,就是 256 个符号 ,从 0000000 到 11111111 。
    ASCII 码:上个世纪 60 年代 ,美国制定了一套字符编码 ,对英语字符与二进制位之间的 关系 ,做了统一规定 。这被称为 ASCIIASCIIASCIIASCII 码。ASCIIASCIIASCIIASCII 码 一共规定了 128 个字符的编码 ,比如 空格 “SPACE” SPACE” SPACE” 是 32 (二进制 00100000 ), 大写的字母 A 是 65 (二进制 01000001 )。 这 128 个符号 (包括 32 个 不能打印出来的控制符号 ), 只占用了一个字节的后面 7 位,最前 面的 1 位统一规定为 0。
    缺点 :
    不能表示所有字符 。相同的编码表示字符不一样 :比如 ,130130 在法语编码中代表了 ,在ᐼ来语编码中䈝代表 字母 Gimel ( )
    1.8.6. Unicode 编码
    乱码:世界上存在着多种编方式,同一个二进制数字可以被解释成不的符号。同一个二进制 数字可以被解释成不的符号。。因此,要想打开一个文本件就必须知道它的编码方式 否则 用错误的码表解读,
    Unicode :一 种编码,将世界上所有的符号都纳入其中。每个符号都给予独一无二的编码, 使用 Unicode Unicode 没有乱码问题,Unicode 编码存在着资源浪费的问题
    1.8.7. UTF-8
    UTF UTF-8 是在互联网上使用最广的一种 Unicode Unicode Unicode Unicode 的实现方 式。 TF UTF-8 是一种变长的编码方式。它可以使用 1-6 个字节表示一符号,根据 不同的符 号而变化字节长度。 UTF-8 的编码规则: 对于单字节的 UTF -8 编码,该字节的最高位为 0,其余 7 位用来对字符进行编码(等同 于 ASCIIASCIIASCII 码)。 对于多字节的 UTF -8 编码,如果包含 n 个字节,那么第一的前 n 位为 1,第一个字节 的第 n+1 位为 0,该字节的剩余各位用来对符进行编码。在第一个之后所有的字节,都 是最高两位为 “10”,其余 6 位用来对字符进行编码
    1.8.8. 布尔类型: boolean
    boolean 类型用来判断逻辑条件,一般于程序流控制: if 条件控制语句; while 循环控制语句; do -while 循环控制语句; for 循环控制语句; boolean 类型数据只允许取值 true 和 false ,无 null 不可以使用 0 或非 0 的整数替代 false 和 true ,这点和 C 语言不同。 Java 虚拟机中没有任何供 boolean 值专用的字节码指令, Java 语言表达所操作的 boolean 值,在编译之后都使用 java 虚拟机中的 int 数据类型来代替:true 用 1 表示, false 用 0 表示。
    在这里插入图片描述
    1.9.变量与类型
    变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。 定义格式: 数据类型 变量名 = 变量值; 数据类型 变量名 = 数据值; int a = 100; 使用
    其中 int 是数据类型,指定了变量只能存储整数,而且指定了存储范围为-2147483648~ 2147483648。 其中 a 表示变量名,变量名是标识符,这说明只要是合法的标识符都可以用来做变量 名。在程序中可以通过变量名来操作变量(内存中的小盒子)。 其中“=100”是给变量赋值,即向 a 变量中写入 100(变量是个小盒子,现在小盒子中保存 的是 100)。注意,给变量赋的值一定要与类型符合,也就是说 int 类型只能存储整数,而 且必须是在-2147483648~2147483648 范围内的整数。100 满足了这两个条件,所以是正确 的 变量名称:在同一个大括号范围内,变量的名字不可以相同。 变量赋值:定义的变量,不赋值不能使用

    public class Variable {
    public static void main(String[] args){ 
    //定义字节型变量
     byte b = 100;
      System.out.println(b);
       //定义短整型变量
        short s = 1000;
         System.out.println(s);
          //定义整型变量 int i = 123456;
           System.out.println(i);
            //定义长整型变量
             long l = 12345678900L; 
             System.out.println(l); 
             //定义单精度浮点型变量
              float f = 5.5F;
               System.out.println(f); 
               //定义双精度浮点型变量
                double d = 8.5; 
                System.out.println(d); 
                //定义布尔型变量
                 boolean bool = false;
                  System.out.println(bool);
                   //定义字符型变量 
                   char c = 'A';
                    System.out.println(c); } }
    
    

    1.10. 数据类型转换
    Java 程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将 发生类型的转换。转换的过程中,数据遵循一个原则: 范围小的数据类型值(如 byte),可以直接转换为范围大的数据类型值(如 int); 范围大的数据类型值(如 int),不可以直接转换为范围小的数据类型值(如 byte) 数据类型按照数据范围从小到大依次列出: byte -> short -> int -> long -> float -> double
    有多种类型的数据混合运算时,系统首先自动将所转换成容量最大那种数据类型,然后再进 行计算。 A) byte,char,short, 之间不会相互转换,他们三者在计算时首先转换为 int 类型 。
    B) boolean 类型不能与其他数据类型转换
    C) 当把任何基本数据类型的值和字符串 (String)进行连接运算时 (+) ,基本数据类型的值将 自动转化为字符串 (String)类型 。
    1.10.1. 字符串类型: String
    String 不是基本数据类型,属于引用数据类型。使用方式与基本数据类型一致。例如 Stringstr = “abc”; 一个字符串可以串接另一个字符串也可以直接串接其他类型的数据。例如: str=str+ “xyz” ; intn=100; Str=str+n;
    1.10.2. 判断对错
    String str1=100; // 错误 String str2=2.8f+””;
    1.10.3. 自动转换
    一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?
    inti=1; byteb=2; 运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。 自动转换 :将 取值范围小的类型 自动提升为 取值范围大的类型 。

    public static void main(String[] args) { 
    int i = 1;
    byte b = 2;
     // byte x = b + i;
      // 报错 //int类型和byte类型运算,结果是int类型 
      int j = b + i;
       System.out.println(j);
    }
    
    

    byte 类型内存占有 1 个字节,在和 int 类型运算时会提升为 int 类型 ,自动补充 3 个字节,因此计算后的结果还是 int 类型。 同样道理,当一个 int 类型变量和一个 double 变量运算时, int 类型将会自动提升 为 double 类型进行运算。范围小的类型向范围大的类型提升,byte 、 short、 char 运 算时直接提升为 int 。
    1.10.4. 强制类型转换
    表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换 将 1.5 赋值到 int 类型变量会发生什么?产生编译失败,肯定无法赋值。
    inti=1.5;// 错误
    分析报错原因: double 类型内存 8 个字节, int 类型内存 4 个字节。 1.5 是 double 类型,取值范围大于 int 。可以理解为 double 是 8 升的水壶, int 是 4 升的水壶,不能把大水壶中的水直接放 进小水壶去。 想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。
    自动转换是 Java 自动执行的,而强制转换需要我们自己手动执行。 强制类型转换格式: 范围小的数据类型 变量 =(范围小的数据类型) 范围大的数据类型值; 如: int i = (int)6.718; //i的值为6 或 double d = 3.14; int i2 = (int)d; //i2的值为3
    同样道理,当一个 short 类型与 1 相加,我们知道会类型提升,但是还想给结果赋值给 short 类型变量,就需要强制转换。

    publicstaticvoidmain(String[]args){
     //short 类型变量,内存中 2 个字节
      shorts=1;
      /* 出现编译失败 s 和 1 做
      运算的时候,1 是 int 类型,s 会被提升
      为 int 类型 s+1 后的结果是 int 类型,将结
      果在赋值会 short 类型时发生错误 short 内存 2 个
      字节,int 类型 4 个字节 必须将 int 强制转成 short 才
      能完成赋值 */ 
      s=s+1//编译失败
       s=(short)(s+1);
       //编译成功
    
    

    1.10.5. 强制转换损失精度的问题
    浮点转成整数,直接取消小数点,可能造成数据损失精度。 int 强制转成 short 砍掉 2 个字节,可能造成数据丢失。 //定义 s 为 short 范围内最大值 shorts=32767; //运算后,强制转换,砍掉 2 个字节后会出现不确定的结果 s=(short)(s+10);
    1.10.5. 强制转换损失精度的问题
    浮点转成整数,直接取消小数点,可能造成数据损失精度。 int 强制转成 short 砍掉 2 个字节,可能造成数据丢失。 //定义 s 为 short 范围内最大值 shorts=32767; //运算后,强制转换,砍掉 2 个字节后会出现不确定的结果 s=(short)(s+10);
    2.计算机的编码
    在计算机的内部都是二进制的 0、1 数据,如何让计算机可以直接识别人类文字的问题呢? 就产生出了编码表的概念 编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。
    2.1.1. ASCII 编码表
    将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表 ASCII(AmericanStandardCodeforInformationInterchange 美国标准信息交换码)。
    在这里插入图片描述
    2.1.2. 案例分析
    publicstaticvoidmain(
    String[]args){ //字符类型变量
    charc=‘a’;
    inti=1;
    //字符类型和 int 类型计算
    System.out.println(c+i);
    //输出结果是 98 }
    在 char 类型和 int 类型计算的过程中,char 类型的字符先查询编码表,得到 97,再和 1 求 和,结果为 98。char 类型提升为了 int 类型。char 类型内存 2 个字节,int 类型内存 4 个字 节。
    3.运算符
    运算符是一种特殊的号,用以表示数据、赋值和比较等 。 算术运符,赋值运算符,比较运算符,逻辑运算符,位运算符,三元运算符
    算术运算符
    在这里插入图片描述
    我们在使用算术运算符时,记得要注意下列事项:
     加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
     除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正 常规则相除。
     “%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
     整数做被除数,0 不能做除数,否则报错。

    /* * 算术运算符 */ 
    public class OperatorDemo1 { 
    public static void main(String[] args) {
     /* * 常量使用算数运算符 */ 
     System.out.println(10+20);
    /* * 变量使用算数运算符 */ 
    int x = 10; int y = 20;
     //"+"作为加法运算使用
      int z = x + y;
       //"+"作为连接字符串使用
        System.out.println("x="+x);
         System.out.println("y="+y);
          System.out.println("z="+z);
    }
    }
    

    3.1. 算数运算符++、–的使用
    算数运算符在前面我们已经学习过了,这里进行一些补充。 在一般情况下,算数运算符不会改变参与计算的变量值。而是在原有变量值不变的情况 下,计算出新的值。但是有些操作符会改变参与计算的变量的值,比如++,–。 我们来看一段代码:

    int a = 3; 
    int b = 3;
     a++; b--; 
     System.out.println(a); 
     System.out.println(b); 
    

    上面代码的输出结果 a 值为 4,b 值为 2; 这说明 a 的原有值发生了改变,在原有值的基础上自增 1;b 的原有值也发生了改变, 在原有值的基础上自减 1;  ++运算符,会在原有值的基础上自增 1;  --运算符,会在原有值的基础上自减 1。
    int a = 3;
    int b = 3;
    ++a; --b;
    System.out.println(a);
    System.out.println(b);
    上面代码的输出结果 a 值为 4,b 值为 2; 这说明++,–运算符单独使用,不参与运算操作时,运算符前后位置导致的运算结果是一 致的。
    接下来,介绍下++,–运算符参与运算操作时,发生了怎样的变化,我们来看一段代码:
    int a = 3;
    int b;
    b = a++ + 10;
    System.out.println(a);
    System.out.println(b); 上面代码的输出结果 a 值为 4,b 值为 13; 这里我要强调一下了,当++,–运算符参与运算操作时,后置++,–的作用:  ++,–运算符后置时,先使用变量 a 原有值参与运算操作,运算操作完成后,变量 a 的值自增 1 或者自减 1;再介绍下++,–运算符前置时,参与运算操作的变化,我们来看一段代码:
    int a = 3
    ; int b;
    b = ++a + 10;
    System.out.println(a);
    System.out.println(b);
    上面代码的输出结果 a 值为 4,b 值为 14; 这里我强调一下,当++,–运算符参与运算操作时,前置++,–的作用:  ++,–运算符前置时,先将变量 a 的值自增 1 或者自减 1,然后使用更新后的新值 参与运算操作。
    3.2. 赋值运算符
    赋值运算符就是为变量赋值的符号
    在这里插入图片描述

    在这里插入图片描述
    3.3. 比较运算符
    比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的, 结果是布尔值 true 或者 false。
    在这里插入图片描述
    在这里插入图片描述
    3.4. 逻辑运算符
    逻辑运算符,它是用于布尔值进行运算的,运算的最终结果为布尔值 true 或 false。
    在这里插入图片描述
     短路与&&:参与运算的两边数据,有 false,则运算结果为 false;  短路或||:参与运算的两边数据,有 true,则运算结果为 true;  逻辑非! : 参与运算的数据,原先是 true 则变成 false,原先是 false 则变 成 true
    3.5. 三元运算符
    接下来我们要学习的三元运算符与之前的运算符不同。之前学习的均为一元或者二元运 算符。元即参与运算的数据。  格式: (条件表达式)?表达式 1:表达式 2;  表达式:通俗的说,即通过使用运算符将操作数联系起来的式子,例如:  3+2,使用算数运算符将操作数联系起来,这种情况,我们称为算数表达式。  3>2,使用比较运算符(也称为条件运算符)将操作数联系起来,这种情况, 我们称为条件表达式。  其他表达式,不再一一举例。  三元运算符运算规则: 先判断条件表达式的值,若为 true,运算结果为表达式 1;若为 false,运算结果为 表达式 2。
    通过代码演示,我们来学习下三元运算符的使用:
    在这里插入图片描述
    在这里插入图片描述
    3.6. 运算符优先级
    在学习运算符的过程中,我们发现,当多个运算符一起使用的时候,容易出现不清晰先 后运算顺序的问题,那么,在这里,我们来学习下,运算符之间的运算优先级。 下图是每种运算符的优先级,按照运算先后顺序排序(优先级相同的情况下,按照从左 到右的顺序依次运算)
    在这里插入图片描述
    .知识小结
     数据类型转换
     数据类型范围从小到大排序(byte < char < short < int < long < float < double),布尔类型 Boolean 不能参与类型转换;
     自动类型转换,范围小的数据类型向范围大的数据类型转换时使用;
     强制类型转换,范围大的数据类型向范围小的数据类型转换时使用。

    算数运算符  用来完成算数运算(如加减乘除计算等)  ++,–运算符的使用  ++,–前置(如++a),当参与运算时,变量 a 的值先自增 1,然后用自 增后的新值再参与运算;  ++,–后置(如 a++),当参与运算时,变量 a 先使用原有值参与运算符, 变量 a 的值再自增 1。
     赋值运算符  用来完成数据的赋值(如 int a = 100;)  +=,-,*=,/=这样的赋值运算符包含了一个强制转换的操作,会将左右两边运算 后的结果,强制类型转换后赋值给左边

    展开全文
  • 为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也...
  • 【引自程序犹如人生的博客】为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语...
  • Java 中文乱码解决方案汇总(2009-07-24 08:16:10)标签:it 花掉了整整一个下午, 读了 sun, ibm, csdn, javaeye 几个网站相关资料共 12 篇, 把 Java 开发中目前可能遇到的中文乱码问题及解决方案总结了一下, 记下...
  • java中文乱码解决总结

    千次阅读 2010-05-17 10:08:00
    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也...
  • Java中的变量常量和总结一 一、JAVA中的关键字 java中的关键字有以下部 Java中的变量常量和总结一
  • JAVA 有关乱码的处理

    2013-01-14 10:54:30
    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也...
  • JAVA 解决乱码的问题

    2007-08-31 14:13:00
    来源:soddabao-BlogJava 为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语...
  • Java有关乱码的处理

    2007-09-01 10:50:00
    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也...
  • Java 中文乱码解决方案 AIO 花掉了整整一个下午, 读了 sun, ibm, csdn, javaeye 几个网站相关资料共 12 篇, 把 Java 开发中目前可能遇到的中文乱码问题及解决方案总结了一下, 记下备忘. //********************// ...
  • 【转】 解析Java中文乱码的处理方法

    千次阅读 2010-03-30 11:09:00
    解析Java中文乱码的处理方法 http://www.51cto.com/specbook/11/53612.htm 【引自程序犹如人生的博客】为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是...
  • java中final常量用法

    2020-09-25 10:14:53
    java语言中,主要是利用关键字final来定义一个常量常量一旦被初始化后不能再更改其值。 关键字final表示这个变量只能赋值一次,一旦被赋值之后就不能再更改。 在java中经常希望某个常量可以在一个类中的多个方法...
  • Java乱码问题解决大全

    千次阅读 2019-07-03 21:03:58
    方法 request.setCharacterEncoding(Constants.ENCODED_UTF); response.setContentType(Constants.CONTENTTYPE_UTF); 参考文章: https://blog.csdn.net/tlms_/article/details/78749980 常量: /** * TODO...
  • java 乱码解决方法

    2014-02-23 16:51:43
    对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是 String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”); 前三种方法是我比较常用的方法,别人的经验告诉我:通常get方法通过改...
  • 各位宝宝们晚上好,今天小编带大家来复习 Java 基础知识了。赶快搬板凳就坐。 常量: 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。 final 常量名=值; 程序中使用...
  • 【引自程序犹如人生的博客】为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用...
  • 为什么说乱码是程序员无法避免的话题呢?...对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是 String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”); 1、utf8解决JSP中文乱码问...
  • 乱码的话:设置 File Encodings的Transparent native-to-ascii conversion为true 具体步骤如下:依次点击 File -> Settings -> Editor -> File Encodings 将Properties Files (*.properties)下的Default ...
  • JAVA中的变量和常量

    2018-11-30 15:51:08
    JAVA中的变量和常量 第一节 JAVA中的关键字 java中的关键字有以下部分 第二节 认识Java中的标识符 标识符就是用于给 Java 程序中变量、类、方法等命名的符号。 package com.imooc; public class Demo{} //...
  • Java常量和变量

    2017-02-19 21:32:00
     Java中有特殊用途的词被称为关键字,关键字服务大小写。   标识符  标识符是用于给java程序中的变量、类、方法等命名的符号。  标识符的几条规则: 由字母、数字、下划线(_)、美元符号($)组成,...
  • JAVA变量和常量

    2019-12-05 22:31:24
    标识符(标识符就是用于给 Java 程序中变量、类、方法等命名的符号) 使用标识符时,需要遵守几条规则: 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以...
  • 怎么解决java乱码问题

    2018-11-26 08:08:47
    为什么说乱码是程序员无法避免的话题呢?...对于Java由于默认的编码方式是 UNICODE,所以用中文也易出问题,常见的解决是 String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”); 1、utf8解决JSP中文乱码问...
  • java读取properties文件中文乱码

    千次阅读 2019-01-30 09:38:34
    properties文件在项目中通常用来作为基础配置文件使用,存储一些固定的常量值。日前在维护一个旧项目中需要添加一个联系人员名称和邮箱的配置,出现了中文乱码的问题。配置读取的代码如下: 处理之前 配置文件...
  • Java 关于中文乱码处理的经验总结

    千次阅读 2012-06-23 16:43:56
    为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会...对于Java由于默认的编码方式是 UNICODE,所以用中文也易
  • Java中应用变量与常量进行数据操作,数据类型处理及转换 Java中的关键字 Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在Java程序的编写中,需慎重使用关键字。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,188
精华内容 4,075
关键字:

java常量乱码

java 订阅